Responsive Action in a Resource Management System

ABSTRACT

A process controls navigation and presentation of digital resources. Different resources or viewing components associated with viewing areas may be assigned different visual designators that affect how the digital resources are processed and presented. A user interface enables automatic generation of an array of resources that causes resources to be displayed in a particular predefined way based on their visual designators. When multiple resources are concurrently displayed in such an array, navigating from one resource to another may also cause automatic navigation to another resource having a known association with the resource to which navigation is requested. Thus, the system beneficially presents the user with a contextual resource relevant to the resource to which navigation is requested, and may enable the user to concurrently view these resources in a convenient manner.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/246,522 entitled “Digital Resource Management System,” filed on Oct.26, 2015, U.S. Provisional Application No. 62/321,706 entitled “DigitalResource Management System,” filed on Apr. 12, 2016, U.S. ProvisionalApplication No. 62/340,940 entitled “Digital Resource ManagementSystem,” filed on May 24, 2016, and U.S. Provisional Application No.62/393,594 entitled “Digital Resource Management System,” filed on Sep.12, 2016, the contents of which are each incorporated by referenceherein.

BACKGROUND

Technical Field

The present disclosure relates to generally to digital resourcemanagement and more specifically to controlling navigation andpresentation of digital resources in a computing system.

Description of Related Art

There are billions of digital information resources available oncomputing devices, including those on computer networks such as theWorld Wide Web. A digital information resource can be hostedindependently of other digital information resources on a computernetwork by being stored at a unique location defined by a unique UniformResource Identifier (URI). Each of these independently hosted digitalinformation resources may provide unique and valuable content and/orfunctions.

Frequently, users may want to group and display one or more digitalinformation resources as a defined, cohesive, and, at times, explicitlysequential hosted resource set. A user can present these digitalinformation resource sets either to an external audience or tohim/herself; the latter act often constituting study or review.

SUMMARY

In an embodiment, a method controls navigation between digital resourcesin an application executing on a client device in a networked computerenvironment. A memory of the client device stores identifiers for atleast a first digital resource, a second digital resource, a thirddigital resource, and a fourth digital resource. The first and thirddigital resources are in a first ordered set of digital resources. Thesecond digital resource is in a second ordered set of digital resourcesand the fourth digital resource is in a third ordered set of digitalresources. The fourth digital resource has a stored association with thethird digital resource. The first digital resource of the first orderedset of digital resources is displayed in a first digital resourceviewing component and the second digital resource of the second orderedset of digital resources is displayed in a second digital resourceviewing component. A processor of the client device causes a display todisplay a user interface element for navigating between the digitalresources. The processor detects a selection of the user interfaceelement. Responsive to the selection of the user interface element, theprocessor initiates navigation from the first digital resource to thethird digital resource of the first ordered set of digital resources inthe first digital resource viewing component. The processor detects thestored association between the third digital resource and the fourthdigital resource. Responsive to detecting the stored association, theprocessor initiates navigation from the second digital resource of thesecond ordered set of digital resources to the fourth digital resourceof the third ordered set of digital resources in the second digitalresource viewing component.

In another embodiment, a non-transitory computer-readable storage mediumstores instructions that when executed by a processor causes theprocessor to perform the process steps described above.

In yet another embodiment, a computer device comprises a processor and anon-transitory computer-readable storage medium stores instructions thatwhen executed by a processor causes the processor to perform the processsteps described above.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosed embodiments have other advantages and features which willbe more readily apparent from the detailed description, the appendedclaims, and the accompanying figures (or drawings). A brief introductionof the figures is below.

FIG. 1 is a block diagram illustrating a first example embodiment of asystem for enabling generation and management of an array of digitalresources in a networked computer environment.

FIG. 2 is a block diagram illustrating a second example embodiment of asystem for enabling generation and management of an array of digitalresources in a networked computer environment.

FIG. 3 is a graphical representation of a first example embodiment of anarray management complex component central to the generation andmanagement functions of an array of digital resources in a networkedcomputer environment.

FIG. 4 is a graphical representation of a second example embodiment ofan array management complex component central to the generation andmanagement functions of an array of digital resources in a networkedcomputer environment.

FIG. 5 is a graphical representation of an example embodiment of dataelements used to visually designate digital resources of an array.

FIG. 6 is a graphical representation of a first example embodiment ofparameters used to define viewing areas for digital resources an arrayof digital resources.

FIG. 7 is a graphical representation of a second example embodiment ofparameters used to define viewing areas for digital resources an arrayof digital resources.

FIG. 8 is a block diagram illustrating a first example embodiment ofviewing areas for digital resources an array of digital resources.

FIG. 9 is a block diagram illustrating a second example embodiment ofviewing areas for digital resources an array of digital resources.

FIG. 10 is a graphical representation of data that may be associatedwith digital resources of an array.

FIG. 11 is a graphical representation of matching digital resources toviewing areas by a common data element.

FIG. 12 is a graphical representation of a first state of a firstexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 13 is a graphical representation of a second state of a firstexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 14 is a graphical representation of a third state of a firstexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 15 is a graphical representation of a fourth state of a firstexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 16 is a graphical representation of a fifth state of a firstexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 17 is a graphical representation of a first state of a secondexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 18 is a graphical representation of a second state of a secondexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 19 is a graphical representation of a third state of a secondexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 20 is a graphical representation of a fourth state of a secondexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 21 is a graphical representation of a fifth state of a secondexample embodiment of a data management system used to track and managedata and viewing components of digital resources of an array.

FIG. 22 is a block diagram illustrating a first example embodiment ofuser interface components, functional modules, and messaging for digitalresource navigation and array generation using a browser-bound dynamicnavigation user interface in a single browser window.

FIG. 23 is a block diagram illustrating a first example embodiment ofuser interface components, functional modules, and messaging for digitalresource navigation, array generation, and responsive action using abrowser-bound dynamic navigation user interface in multiple browserwindows.

FIG. 24 is a block diagram illustrating a second example embodiment ofuser interface components, functional modules, and messaging for digitalresource navigation and array generation using a browser-bound dynamicnavigation user interface in a single browser window.

FIG. 25 is a block diagram illustrating a second example embodiment ofuser interface components, functional modules, and messaging for digitalresource navigation, array generation, and responsive action using abrowser-bound dynamic navigation user interface in multiple browserwindows.

FIG. 26 is a block diagram illustrating a first example embodiment ofuser interface components, functional modules, and messaging for digitalresource navigation and array generation using a page-bound dynamicnavigation user interface in a single browser window.

FIG. 27 is a block diagram illustrating a first example embodiment ofuser interface components, functional modules, and messaging for digitalresource navigation, array generation, and responsive action using apage-bound dynamic navigation user interface in multiple browserwindows.

FIG. 28 is a block diagram illustrating a second example embodiment ofuser interface components, functional modules, and messaging for digitalresource navigation and array generation using a page-bound dynamicnavigation user interface in a single browser window.

FIG. 29 is a block diagram illustrating a second example embodiment ofuser interface components, functional modules, and messaging for digitalresource navigation, array generation, and responsive action using apage-bound dynamic navigation user interface in multiple browserwindows.

FIG. 30 is a block diagram illustrating a first example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to a general example.

FIG. 31 is a block diagram illustrating a second example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to a general example.

FIG. 32 is a block diagram illustrating a third example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to a general example.

FIG. 33 is a block diagram illustrating a fourth example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to a general example.

FIG. 34 is a block diagram illustrating a fifth example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to a general example.

FIG. 35 is a block diagram illustrating a sixth example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to a general example.

FIG. 36 is a block diagram illustrating a seventh example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to a general example.

FIG. 37 is a block diagram illustrating a eighth example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to a general example.

FIG. 38 is a block diagram illustrating a first example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to an education example.

FIG. 39 is a block diagram illustrating a second example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to an education example.

FIG. 40 is a block diagram illustrating a third example embodiment ofuser interface components and functional modules for implementingdigital resource array generation and management using a page-bounddynamic navigation user interface according to an education example.

FIGS. 41A-41B are flowcharts illustrating an embodiment of a process fornavigating between digital resources using a dynamic navigation userinterface.

FIG. 42 is a flowchart illustrating an embodiment of a process forvisually designating digital resources for display in an array ofdigital resources.

FIGS. 43A-43B are flowcharts illustrating an embodiment of a process forgenerating an array of digital resources.

FIG. 44 is a flowchart illustrating an embodiment of a first process forcreating and managing responsive actions between digital resources.

FIG. 45 is a flowchart illustrating a first embodiment of a secondprocess for creating and managing responsive actions between digitalresources.

FIG. 46 is a flowchart illustrating a second embodiment of a secondprocess for creating and managing responsive actions between digitalresources.

FIG. 47 is a flowchart illustrating a first embodiment of a thirdprocess for creating and managing responsive actions between digitalresources.

FIG. 48 is a flowchart illustrating a first embodiment of a fourthprocess for creating and managing responsive actions between digitalresources.

FIG. 49 is a flowchart illustrating a second embodiment of a fourthprocess for creating and managing responsive actions between digitalresources.

DETAILED DESCRIPTION

The Figures (FIGS.) and the following description relate to variousembodiments by way of illustration only. From the following discussion,alternative embodiments of the structures and methods disclosed hereinwill be readily recognized as viable alternatives that may be employedwithout departing from the principles of what is claimed.

Reference will now be made in detail to several embodiments, examples ofwhich are illustrated in the accompanying figures. It is noted thatwherever practicable similar or like reference numbers may be used inthe figures and may indicate similar or like functionality. The figuresdepict embodiments of the disclosed system (or method) for purposes ofillustration only. One skilled in the art will readily recognize fromthe following description that alternative embodiments of the structuresand methods illustrated herein may be employed without departing fromthe principles described herein.

In a Resource Set Presentation Process (RSPP), a computer device enablesa user to construct presentations from stored digital informationresources, including ones hosted on a computer network. To do so, theRSPP spans the breadth of the information cycle, including informationcollection, organization, enrichment, and presentation, includingsharing to one or more users.

An aspect of the RSPP is the Resource Set Array Responsive ActionProcess (Array Responsive Action Process). The Array Responsive ActionProcess may utilize other aspects of the RSPP including the Resource SetNavigation Process (Navigation Process), the Resource Set VisualDesignation Process (Visual Designation Process), and the Resource SetArray Generation Process (Array Generation Process). A description ofthe RSPP, how the Navigation Process, Visual Designation Process, andArray Generation Process may support the Array Responsive ActionProcess, and the Array Responsive Action Process itself follow below.

Using the RSPP, a user can interact with the computer device toconstruct a presentation, including one composed of hosted digitalinformation resources, useful for a number of pursuits includingeducation, business, travel, and other fields. Using the example of apresentation composed of hosted digital information resources, aprofessor can quickly construct a presentation composed of a chapterfrom an eTextbook, a scholarly article, Google Map views centered on theplace of study, a worksheet from ExcelOnline, and other resourcesavailable to the professor and her students; a financial analyst canquickly construct a presentation composed of a Google Doc containing aninvestment thesis, bank reports, Google Map views displaying areasrelevant to an investment, a workbook from ExcelOnline, a stock chartfrom Yahoo Finance, and other resources available to the analyst and herassociates; a travel agent or independent traveler can quickly constructa presentation composed of the traveler's daily itineraries, Google Mapviews showing tour routes, background information on touristdestinations, emergency contact information, and any other resourcesavailable to the travel agent, her clients, and/or the independenttraveler. As implied above, each presentation may be composed of hosteddigital information resources of unique origin.

The RSPP may utilize a Resource Set composed of a discrete set of one ormore Resources, each of which may be composed of one or more ResourcePages and/or Resource Page Selections and/or the one or more ResourcePages' and/or Resource Page Selections' associated Resource Data. AResource Page may be a webpage or other displayed digital informationresource. A Resource Page Selection may be a specific view, state orcollection of one or more elements of a Resource Page; a Resource PageSelection may be a Resource Page in its entirety. For the sake ofclarity and readability a Resource Page may refer to both a ResourcePage or Resource Page Selection in multiple instances throughout thisdisclosure. Resource Data is data that may include a Resource'sorganizational, informational, and/or locational attributes that isaccessible, readable, and retrievable for use in the RSPP. Resource Datamay include one or more of the following: each Resource's title; eachResource's Resource Page's network location (URI) or Resource Pages'network locations (URIs); one or more attributes defining a ResourcePage Selection; one or more Resource Sets, Groups, or Sub-Groups withwhich each Resource is associated; each Resource's display order withinone or more Resource Sets; each Resource's Visual Designator; eachResource's displays of one or more of the Resource's URIs includingdisplays of one or more URIs within DOM element pop-ups; each Resource'sother informational context that includes tags, text files, audio files,instructions indicating which sections of a Resource Page to emphasize,and links to other Resources.

To enable navigation from one presentation resource to a nextpresentation resource the RSPP may utilize the Navigation Process. TheNavigation Process enables the repetitive selection of the sameNavigation Specific UI Element in the Dynamic Navigation User Interface(DNUI) to result in the display of Resources in a Resource Set accordingto the Resource Set's creator's intended scope and sequence. ANavigation Specific UI Element refers to a UI element that may includedirectional arrows or buttons indicating concepts of sequence that aredisplayed in order to provide the means with which a next (next orprevious of an ordered set) Resource in the Resource Set can be accessedaccording to the Resource Set's creator's intended scope and sequence.The DNUI is a user interface that makes certain functions, includingsome or all of the following, available to the user: 1) repetitiveselection of the same Navigation Specific UI Element in the DNUI toresult in the display of one or more Resources in a Resource Setaccording to the Resource Set's creator's intended scope and sequence;2) the display of Resource Data specific to each Resource in a ResourceSet; 3) the means to access any Resource Data within any Resource DataSet; 4) the means to edit any Resource Data within any Resource DataSet; and 5) the means to share any Resource Data Set with any number ofcomputing devices and servers on a computer network. The Resource SetNavigation Process and variations thereof are described in detail below.

Another aspect of the RSPP is the ability to organize Resources of aResource Set in multiple ways and convey how each Resource has beenorganized (i.e. each Resource's organizational context) to the audienceviewing and/or using the presentation. A Resource's organizationalcontext may help provide information about each Resource that may not beintrinsic to or conveyed by the Resource's underlying Resource Pageand/or Resource Page Selection viewed or considered in isolation. TheRSPP provides multiple processes by which Resources of a Resource Setand the organizational context of each can be organized, displayed andconveyed.

Resources can be organized in one or more Groups within and generatedfrom one or more Group Sets, regardless of each Resource's underlyingformat, application, origin, source, or other objective attribute. AGroup Set contains and from it users can generate Groups. Groups can bedefined by attributes different than and independent of those used todefine those Groups contained in and/or that have been generated withinother Group Sets. For example, a user may utilize both a Group Set namedQueue and a Group Set named Subjects. Queue may be the Group Set withwhich a user may associate Resources that the user will organize inadditional ways at a later time. Subjects may be the Group Set fromwhich a user generates more specific Groups. One or more Resources maybe associated with each Group in multiple ways including by associatingthe unifying attribute defining the Group with each Resource intendedfor organization as part the Group. For example, each Group, and thusits unifying attribute, could correspond with a specific pursuit such aseducation, business, and travel. In such a case, a user might choose tocreate Groups from the Subject Group Set such as Education, News,Finance, or Travel.

In addition, Sub-Groups may be created within each Group. Sub-Groupsinclude both a Sub-Group derived from a Group as well as a Sub-Groupderived from another Sub-Group. The latter is for the sake of clarityand readability. In many instances, Sub-Group may refer to a Sub-Groupderived from a Sub-Group derived from another Sub-Group, and so on. Thenumber of possible divisions is limited only by the number of Resourcesin the Group or Sub-Group from which additional Sub-Groups can bederived. A Sub-Group can be created and defined in multiple waysincluding by associating one or more Resources with an attribute otherthan the unifying attribute or attributes defining the Sub-Group'sparent Group or Sub-Group. Using an “Education” use case narrowed to onein which a presentation is composed of hosted digital informationresources as an example, a user may want to associate one or moreResources associated with the Education Group with an additionalattribute such as Ancient Rome. A user may want to associate one or moreof the same or other Resources associated with the Education Group withan additional attribute such as Chemistry. By associating one or moreResources within the Education Group with the Ancient Rome and Chemistryattributes the user can create the Sub-Groups of Ancient Rome andChemistry, respectively. As shown throughout this disclosure, a Groupmay be refined to its constituent Sub-Groups by applying one or moreattributes as tags, each associated with the Sub-Group and serving asits unifying attribute, to the parent Group. Similarly, for the FinanceGroup a user might create Sub-Groups such as Forecasts, Valuations,Research, etc. For the Travel Group a user might create Sub-Groups basedon a destination attribute such as World Cup 2016, National Park Tour,Caribbean Cruise, etc.

The Resources associated with any Resource Set (Group, Sub-Group, orother) may vary considerably in subjective attributes including thefunctional role or roles (main idea, context, instruction, etc.) eachplays with respect to the entirety of a presentation of which theResources are a part.

For example, and continuing with the “Education” example above, someResources associated with the Sub-Group Ancient Rome of the GroupEducation, might be more important to a presentation of which they are apart than others because they express one or more of the presentation'smain ideas. Other Resources associated with the Sub-Group Ancient Romeof the Group Education, might be less important to the presentation thanothers because they express the information supplementary to thatexpressed by those Resources expressing the presentation's main idea(s).Still other Resources might provide instruction for one or more of apresentation's constituent Resources, Sub-Groups, or Groups.

The Resources associated with any Resource Set (Group, Sub-Group, orother) also may vary considerably in other subjective attributes(including content) or more objective attributes (including source,format, and date of information) with respect to the entirety of apresentation of which the Resources are a part.

For an alternative example, each of one or more Resources associatedwith a Sub-Group “Knowlio, Inc.-Filing” of the Group Patents might be atextual description of the “Knowlio, Inc.-Filing”. Each of otherResources associated with the Sub-Group “Knowlio, Inc.-Filing” of theGroup Patents might be a Figure associated with a specific textualdescription.

Because the Resources of a Resources Set may fulfill different roleswith respect to, or be associated with distinct subjective or objectiveattributes relevant to a presentation as a whole, it may be valuable tosimultaneously isolate and display Resources of a Resource Set accordingto each Resource's role or other attributes in the presentation, and,potentially, association with other Resources of the Resource Set.

As such, and continuing with the “Education” example above, apresentation creator might determine that two Resources within theSub-Group Ancient Rome of the Group Education express the main ideas ofthe presentation and eight other Resources within the Sub-Group AncientRome of the Group Education express information supplementary to thatexpressed by those Resources expressing the presentation's main ideas.To this end, the user could associate the two Resources expressing thepresentation's main ideas with a Visual Designator called Focus andassociate the eight Resources expressing the information supplementaryto the main ideas with a Visual Designator called Context. Generally, aVisual Designator may be a data element including one or more words,numbers, images, symbols, or other information that may be associatedwith both 1) a digital information resource and/or viewing componentdisplaying a digital information resource and 2) a defined area of adisplay, including a Pane (defined in greater detail below).

To that end, in the “Education” example, the user also could associatethe left half of the Client Area of the user's Display Device, definedas an area Pane L, with the Visual Designator Focus and associate theright half of the Client Area of the user's Display Device, defined asan area Pane R, with the Visual Designator Context. For presentationscomposed of hosted digital information resources, a Pane also may bedefined as an area within the display space of a Browser Window. As suchthe left half of a single Browser Window could be defined as Pane L andthe right half of a single Browser Window could be defined as Pane R.However, for the sake of clarity and readability the “Education” examplefollows an implementation in which a Pane defines an area of the ClientArea of the user's Display Device. In this way the user may convey whichResources are most important and which Resources are supplementary bythe position each Resource is assigned for display on the DisplayDevice. The latter is a specific example of a more general function ofanother aspect of the RSPP, the Visual Designation Process. The VisualDesignation Process allows meaning to be conveyed about a Resource basedon the position the Resource is assigned on the Display Device.

Once a Visual Designation Process has taken place, another aspect of theRSPP, the Array Generation Process, may be used to generate a visualArray of one or more Resources of a Resource Set, each Resource of theArray being positioned over a defined area of a Display Device, theResource and/or its viewing component and defined area of the DisplayDevice having been associated with one or more common VisualDesignators.

Continuing with the “Education” example above, initially, a user mayinitiate an Array Generation Process such that the Browser Windowassigned to display a Resource associated with the Visual DesignatorFocus may be sized and positioned to display over the Pane L, definingthe left half of the Client Area of the user's Display Device, and theBrowser Window designated to display Resources associated with theVisual Designator Context may be sized and positioned to display overthe Pane R, defining the right half of the Client Area of the user'sDisplay Device. Viewing a presentation's information in this way isvaluable for many reasons including 1) conveying information, includingnon-intrinsic information, about a Resource or Resource Set by virtue ofits position on the Display Device, and 2) providing visual continuityby the simultaneous display of one or more Resources of a Resource Set.For example, and continuing with the “Education” example above, aResource of the Sub-Group Ancient Rome of the Group Education designatedas a Focus, may be positioned and sized to display over the Pane L,defining the left half of the Client Area of the user's Display Device.By virtue of this placement a user of the presentation could know thatthis Focus Resource conveys a main idea of the presentation and,perhaps, that he or she should focus more of the user's attention onthat Resource. In a similar way, a Resource of the Sub-Group AncientRome of the Group Education designated as a Context, may be positionedand sized to display over the Pane R, defining the right half of theClient Area of the user's Display Device. By virtue of this placement, auser of the presentation can know that this Context Resource conveysinformation supplementary to that of the Focus or Focuses of thepresentation and, perhaps, that he or she should develop his or herunderstanding of its content by concentrating on how it relates to theFocus(es). At the same time, both the Focus Resource and ContextResource are made more valuable by the simultaneous display of theother; the simultaneous display of Resources reduces visualdiscontinuity and, thus, the cognitive burden a user experiences byviewing related Resources successively in isolation. For example, andcontinuing with the “Education” example above, the Focus might be achapter from an eTextbook on Roman engineering. The Context might be aseries of Google Map Street Views of one or more examples of Romanengineering, perhaps, an aqueduct and/or a building such as theColosseum. The Focus might contain valuable text about Roman engineeringand possibly a limited depiction of the same example of Romanengineering provided in the Context. However, the Context can provideadditional insight and granularity regarding the text and limitedexample provided in the Focus and thus supplement the informationconveyed in the Focus. Conversely, the Focus could provide additionalinsight and granularity into the example displayed in the Context. Beingable to view both simultaneously minimizes the cognitive burdenassociated with the context switching a user would experience if theFocus and Context only could be viewed easily in successive isolateddisplays. As implied, the example above is non-limiting and it should beunderstood that the Array Generation Process may be used to generateArrays in a number of configurations and by a number of similar methods.

Once an Array has been generated, another aspect of the RSPP, the ArrayResponsive Action Process, may used so that an event affecting thedisplay of elements of one or more Resource may affect the display ofelements of one or more other Resources of an Array. Continuing with the“Education” example above, after viewing an Array of Sub-Group AncientRome of the Group Education, a user may want to transition to anotherGroup or Sub-Group. For example, a user may want to view the Resourcesof the Group Travel and view the Resources of the Group Travel in Arrayform. By selecting Travel from a list of available Groups in anApplication UI of the Focus Resource of Sub-Group Ancient Rome of theGroup Education in the Focus Browser Window, a user can expect andaffect a transition from not just the Resource of Sub-Group Ancient Romeof the Group Education in the Focus Browser Window to a Focus Resourceof the Group Travel in the Focus Browser Window but also from theResource of Sub-Group Ancient Rome of the Group Education in the ContextBrowser Window to a Context Resource of the Group Travel in the ContextBrowser Window. In another instance, a user may want to navigate fromone Focus Resource to another Focus Resource within the same Group orSub-Group. In many instances, Resources associated with one or moreVisual Designations may be associated with specific Resources alsoassociated with one or more Visual Designations. For example, multipleContext Resources may be associated specifically with a single FocusResource. Multiple other Context Resources may be associated with adifferent, single Focus Resource. For example, and continuing with the“Education” example above, one Focus Resource might be a chapter from aneTextbook on Roman engineering with multiple Context Resources in theform of Google Map Street Views, scholarly articles, hosted images,etc., each providing supplementary information about the eTextbookchapter in Focus. Another Focus Resource might be an educational videoon the Roman Forum with multiple Context Resources in the form of GoogleMap Street Views, scholarly articles, hosted images, etc., eachproviding supplementary information about the video in Focus. When theuser chooses to navigate from the eTextbook chapter to the educationalvideo (e.g. from one Focus to the next), the user can and should expectthe Context Resource in the Context Browser Window to navigate from thatassociated with the eTextbook to that associated with the educationalvideo.

More generally, when utilizing Array Resources displayed in one or moreBrowser Windows, an Array Responsive Action Process may enable an eventaffecting the display of an Array Resource and/or its Rendered View (anobject representing the contents of a webpage displayed in a Tab) and/orits Tab and/or its Browser Window to affect the display of one or moreother Array Resources and/or their Rendered Views and/or their Tabsand/or their Browser Windows. The Array Resource affecting the one ormore other Array Resources may be simultaneously displayed in the sameBrowser Window and/or Tab as one or more of the one or more other ArrayResources. A process such as the Array Responsive Action Process may besaid to make Resources of an Array “responsive” to each other.

FIGS. 38-40 provide a graphic overview of the “Education” example. Thesefigures are illustrative of the examples above provide examples of userinterfaces that may be displayed at different stages during execution ofthe processes described herein. The description below providesadditional details of the how the Navigation Process, Visual DesignationProcess, and Array Generation Process may support the Array ResponsiveAction Process, and the Array Responsive Action Process itself.

FIG. 1 is a block diagram of a system 1000 for performing several of theResource Set Presentation Processes including the Navigation Process,the Visual Designation Process, the Array Generation Process, and theArray Responsive Action Process. In the example of FIG. 1, a LocalComputing Device 1002 is illustrated as communicating with multipleremote servers, one or more Remote Resource Page Servers 1004 and aRemote Application Data Server 1006, in The Cloud 1008 in order toprovide, using a Display Device 1010, one or more Browser Windows 1012with Tabs 1014 each of which may display 1) a Resource Page 1016 at aURI 1018, the Resource Page 1016 being stored at a Remote Resource PageServer 1004 (each independently hosted Resource Page 1016 may have itsown Remote Resource Page Server 1004); and/or 2) an Application UserInterface (AUI) (e.g., a Browser-bound AUI 1020, a Page-bound AUI 1022,or a Page-bound AUI 1024) that may include Resource Data of a ResourceData Set 1026 and Other Data of Other Data Sets 1028 that may be storedat the Remote Application Data Server 1006 and other elements which arestored in various system components at different times in the ResourceSet Presentation Process (RSPP). FIG. 1 shows two examples of how an AUIcould be rendered in a Tab 1014 of a Browser Window 1012 and displayedin the Client Area 1030 of the Display Device 1010. An AUI also may berendered in a separate pop-up window not specifically illustrated in theexample of system 1000.

The components represented in FIG. 1 may be modified to simultaneouslydisplay multiple Resources in the display area of a single browserwindow. System 1001 of FIG. 2 shows an example of such a configuration.In the example of FIG. 2, a Local Computing Device 1002 is illustratedas communicating with multiple remote servers, one or more RemoteResource Page Servers 1004 and a Remote Application Data Server 1006, inThe Cloud 1008 in order to provide, using a Display Device 1010, aBrowser Window 1013 with a Tab 1015 _(i) and multiple Rendered Views1017 ₁ and 1017 _(i) each of which may simultaneously display 1) aResource Page 1016 ₁ and 1016 _(i), of the URIs 1018 ₁ and 1018 _(i),the Resource Pages 1016 ₁ and 1016 _(i) being stored at Remote ResourcePage Servers 1004 ₁ and 1004 _(i) (each independently hosted ResourcePage 1016 may have its own Remote Resource Page Server 1004); and/or 2)an Application UI (AUI) (e.g., a Browser-bound AUI 1021, a Page-boundAUI 1023, or a Page-bound AUI 1025) that may include Resource Data of aResource Data Set 1026 and Other Data of Other Data Sets 1028 that maybe stored at the Remote Application Data Server 1006 and other elementswhich are stored in various system components at different times in theResource Set Presentation Process (RSPP). FIG. 2 shows two examples ofhow an AUI could be rendered in a Rendered View 1017 of Tab 1015 of aBrowser Window 1013 and displayed in the Canvas Area 1031 (generally,the Canvas Area may be the portion of a Browser Window that may be usedto display one or more Resources, Resource Pages, and/or webpages) ofthe Display Device 1010. An AUI also may be rendered in a separatepop-up window not specifically illustrated in the example of system1001.

In the description of FIGS. 1 and 2 that follows many components arenumbered using numerical references to both FIGS. 1 and 2. In each case,the dual numerical reference is used to consolidate descriptive languagethat may apply to the component configured for both system 1000 and1001. For example, “Browser Window” may be followed by the numericalreference 1012/1013 to indicate that the associated descriptive languageapplies to both the Browser Window of system 1000 and 1001,respectively.

Continuing on, the components desirable for an example implementation ofthe Browser-bound AUI 1020/1021 shown in FIGS. 1 and 2 are illustratedand discussed in detail in FIGS. 22, 23, 24, and 25. The componentsdesirable for example implementations of the Page-bound AUI 1022 shownin FIG. 1 are illustrated and discussed in detail in FIGS. 26, and 27.The components desirable for example implementations of the Page-boundAUI 1024 shown in FIG. 1 are illustrated and discussed in detail inFIGS. 28, and 29. FIGS. 22, 23, 24, 25, 26, 27, 28, and 29 are providedfor the sake of clarity and serve only as examples of the componentsdesirable to render the Browser-bound AUI and Page-bound AUI and howeach may be utilized in the Navigation Process, Array GenerationProcess, and Array Responsive Action Process; the same components may beutilized in the Visual Designation Process as well.

With slight modification, those components represented in FIGS. 22, 23,24, and 25 could render a Page-bound AUI instead of a Browser-bound AUIfor use in the Navigation Process, Array Generation Process, VisualDesignation Process, and Array Responsive Action Process. Also withslight modification, those components represented in FIGS. 26, 27, 28,and 29 could render a Browser-bound AUI instead of a Page-bound AUI foruse in the Navigation Process, Array Generation Process, VisualDesignation Process, and Array Responsive Action Process.

In the figures and descriptions herein, many system components may existin multiple instances fulfilling the same function in each instance. Inmany cases, in order to clarify when there are or could be multipleinstances of the same system component represented in a figure or beingdescribed in the text that fulfill the same function, the label numberof each instance of the component will be annotated with a subscriptindicating its distinction from other instances of the same component.The subscript “i” will be used to represent one or more instances of acomponent in addition to other instances of the same component describedand labeled with an integer subscript such as “1” or “2”. For example,and as shown in FIG. 1 of system 1000, multiple Browser Windows arerepresented by “Browser Window 1012 ₁” and “Browser Window 1012 _(i)”;the former, a first, single instance of a Browser Window; the latter, arepresentation of one or more Browser Windows, the number of which beingdependent on system constraints and inputs. In other cases, a componentshown in a figure with a subscript such as “i” or “1” may be referred towithout the subscript, indicating the component is being referenced inmore general terms. For example, in FIG. 1 Browser Window is shown as“Browser Window 1012 ₁” and “Browser Window 1012 _(i)”. However, in theassociated description of FIG. 1 and in many instances throughout thisdisclosure, Browser Window is also referenced as 1012.

A Local Computing Device 1002 may generally represent a computing devicethat may be configured to execute an otherwise conventional BrowserApplication 1032, and to communicate over a network with the RemoteResource Page Server 1004 and the Remote Application Data Server 1006.For example, the Local Computing Device 1002 may represent any standarddesktop or personal computing device, such as any laptop, notebook,netbook computer, any tablet computer, any Smartphone or other mobilecomputing device, or any virtual reality headset. Such computingdevices, and other computing devices, may be configured to access eachRemote Resource Page Server 1004 and Remote Application Data Server 1006over one or more computer networks, in any conventional manner. Forexample, many Local Computing Devices may include various types ofnetwork-related hardware/software which enable the Local ComputingDevice 1002 to communicate over the public internet, private intranet,or other network, with each Remote Resource Page Server 1004 and RemoteApplication Data Server 1006. The Display Device 1010 may represent oneor more of a conventional type of display such as a monitor,touch-screen, virtual reality, or other type of visual or auditorydisplay. In many cases, a single Local Computing Device 1002 may beassociated with multiple displays. For the sake of readability, DisplayDevice 1010 may refer to either a single display device and/or multipledisplay devices. The Client Area 1030 represents the portion of theDisplay Device 1010 that may be used to display one or more BrowserWindows. An Array may or may not be sized and positioned to fill theentire area as shown in this figure.

In the description below, it is generally assumed that the LocalComputing Device 1002 and the Browser Application 1032/1033 communicatewith each Remote Resource Page Server 1004 and Remote Application DataServer 1006 over the public internet, and therefore use standard andconventional protocols for identifying, retrieving, and rendering eachResource Page 1016 and Data, including Resource Data of the ResourceData Set 1026, e.g., from a web server represented by Remote ResourcePage Server 1004 and from a Remote Application Data Server 1006.However, it will be appreciated that such examples are provided merelyfor the sake of clarity and conciseness, and are not intended to belimiting of the different ways in which the Local Computing Device 1002may identify, retrieve, render, or display Resource Pages and Data,including Resource Data, in association with the Browser Application1032/1033, Browser Window 1012/1013, and Tab 1014/1015.

In this description, it may generally be assumed that each Resource Page1016 represents any of the many types of hosted information resources inthe form of webpages that are available over the public internet. Forexample, a Resource Page 1016 may represent a substantially static pagethat includes text, sound, images, or other content which may bedisplayed within a Browser Window 1012/1013. In other examples, aResource Page 1016 may include different types of dynamic or interactivecontent that can be engaged and manipulated by the user within thecontext of a Browser Window 1012/1013. In many instances, Resource Page1016 and/or associated executable code may represent an applicationwhich may execute partially or completely at a Remote Resource PageServer 1004 (e.g., may utilize the processor, memory, and otherhardware/software resources of the Remote Resource Page Server 1004),while providing associated functionality and features to the user viaBrowser Window 1012 (and perhaps executing at least partially locally atthe Local Computing Device 1002). As just referenced, such hostedinformation resources in the form of webpages and associatedfunctionalities and applications are well-known to be implementableusing various, conventional programming languages and techniquesincluding hypertext markup language (HTML), Asynchronous JavaScript(AJAX), Extensible Markup Language (XML), JavaScript, JavaScript ObjectNotation (JSON), and many other types of code which may be executed.

In FIGS. 1 and 2, a Resource Page 1016 at a Remote Resource Page Server1004 is illustrated as including, or being associated with, a Page Model1034 and a Page Script 1036. The use of such a Page Model 1034 and PageScript 1036 is known to and would be readily apparent to one of skill inthe art and as such is not described in detail herein.

During a conventional rendering of a Resource Page 1016 by the BrowserApplication 1032/1033, a Temporary Memory 1038 a, (e.g., a cache memory)at the Local Computing Device 1002 may be used to store temporarily thePage Model 1034 and the Page Script 1036. This, however, is meant toprovide an example, and it may be appreciated that the BrowserApplication 1032/1033 may partially or completely access the Page Model1034 and/or the Page Script 1036 remotely at the Remote Resource PageServer 1004. In this way, the Browser Application 1032/1033 may utilizethe Page Model 1034 and the Page Script 1036, e.g., in a conventionalmanner, so as to thereby render a Resource Page 1016 within the BrowserWindow 1012/1013 provided by the Browser Application 1032/1033.

Similarly, and as implied by system 1000/1001, Application Data,including a Resource Data Set, may be downloaded from its RemoteApplication Data Server 1006 to the Local Computing Device 1002 andstored in Temporary Memory 1038 b for use by the Application Controller1040/1041 (generally, an application controller may represent a set ofhandlers (message or event handlers) and/or the application's associatedbusiness logic and other data elements). However, it may be appreciatedthat there are other possible ways with which Application Data,including Resource Data, can be made accessible to the ApplicationController 1040/1041. For example, Resource Data can be created andstored locally and then shifted to temporary memory for use by theApplication Controller 1040/1041. Also, locally stored Resource Data canbe combined with the Resource Data Set 1026 initially stored at RemoteApplication Data Server 1006; this combination can then be stored intemporary memory as a larger Resource Data Set for use by theApplication Controller 1040/1041.

The Application Controller 1040/1041, in coordination with theApplication UI Controller 1042/1043 (described in detail below) andOther Files 1044/1045, provides that each Resource Page and/or ResourcePage Selection is rendered alongside its specific Resource Data as aResource displayed in a Browser Window 1012/1013; thus, the ApplicationController 1040/1041 may be thought of as what links the files on eachRemote Resource Page Server 1004 with the Resource Data files on RemoteApplication Data Server 1006. The Application Controller 1040/1041 incoordination with the Application UI Controller 1042/1043 and OtherFiles 1044/1045 also provides the basis for combining theordinary/traditional functions of a Browser Application and DisplayDevice to create visual and functional relationships between Resources;thus, the Application Controller 1040/1041 also may be thought of aswhat links one independent Resource to another.

As configured in system 1000/1001, the Application Controller 1040/1041may contain or directly access several sub-components, functions, anddata structures central to the functions of the RSPP including one ormore Array Management Complexes (AMC)s, each governing a separate ArrayType and its behavior. An AMC itself may contain or directly accessseveral sub-components, functions, and data structures central to theVisual Designation Process, Array Generation Process, and ArrayResponsive Action Process. FIGS. 3, 4, 5, 6, 7, 8, 9, 10, 11, 12-16, and17-21 provide visual representations of several of these sub-components,functions, and data structures to help clarify their role in the RSPP asdescribed herein.

As implied above, an AUI Controller's 1042/1043 functions often fallbetween an AUI and the Application Controller 1040/1041. These functionsmay include the following: 1) convey AUI inputs to ApplicationController 1040/1041 which the Application Controller can interpret tobuild the Application UI View State and Resource Data Messagecorresponding to the inputs to the AUI; 2) inform the ApplicationController 1040/1041 it is ready to receive the Application UI ViewState and Resource Data Message; 3) receive the Application UI ViewState and Resource Data Message; and 4) interpret and execute the tasksof the Application UI View State and Resource Data Message, ultimatelyresulting in the display of one or more AUIs in one or more BrowserWindows 1012/1013. An Application UI View State and Resource DataMessage may be one or more messages containing an Application UI ViewState (generally, an Application UI View State is executable codedefining and containing the elements useful for the display and functionof an AUI), Resource Data, and/or instructions useful for execution anddisplay of a specific AUI by the AUI Controller. The Application UI ViewState and Resource Data Message may come in several forms including theDynamic Navigation UI View State and Resource Data Message. A DynamicNavigation UI View State and Resource Data Message may be one or moremessages containing the Dynamic Navigation UI View State (generally,executable code defining and containing the elements useful for thedisplay and function of a DNUI), Resource Data, and/or instructionsuseful for execution and display of a Resource specific DNUI by the AUIController. The Dynamic Navigation UI View State and Resource DataMessage is an example of an Application UI View State and Resource DataMessage. How it can be used is described in detail below. The DynamicNavigation UI View State and Resource Data Message is central tomultiple implementations of the Navigation Process, variants of theArray Responsive Action Process, and may be used in the Array GenerationProcess as well. How it can be used is described in detail below.

The AUI Controller 1042/1043 may represent more than one AUI Controller.For example, for the descriptions and figures of system 1000 AUIController 1042 may represent multiple AUI Controllers including an AUIController for each Tab of an Array. Likewise, for the descriptions andfigures of system 1001 AUI Controller 1043 may represent multiple AUIControllers including an AUI Controller for each Rendered View of anArray.

A shared Configuration File 1046/1047 and Other Files 1044/1045 areuseful to support many implementations of the Navigation Process, VisualDesignation Process, Array Generation Process, and Array ResponsiveAction Process. Other Files 1044/1045 may include the following filetypes: HTML files, JSON files, cascading style sheets (CSS) files,JavaScript files, image files, audio files, and text files.

As implied by system 1000/1001, the Application Controller 1040/1041,the AUI Controller 1042/1043, and Other Files 1044/1045 providefunctionality to the Browser Application 1032/1033. The ApplicationController 1040/1041, AUI Controller 1042/1043, and Other Files1044/1045 can do so either by being directly incorporated into theBrowser Application 1032/1033 or by being made available for use by theBrowser Application as a set of files that provide additional featuresor functionalities in association with the Browser Application. Insystem 1000/1001, these files are shown as the Extension Files 1048/1049but may, as may be understood from the more detailed description below,generally refer to browser extensions, add-ons, active X controls, webapplications (web apps, apps) or any other program code which isdesigned to augment an appearance or functionality of the BrowserApplication 1032/1033 in providing the Browser Window 1012/1013 and pageand elements rendered within it. The Background Page 1050/1051, ContentScript File(s) 1052/1053, and Other Files 1054/1055 are outlined with adotted line and connected with dashed lines to the ApplicationController 1040/1041, AUI Controller 1042/1043, and Other Files1044/1045 respectively, to indicate that the Background Page 1050/1051,Content Script File(s) 1052/1053, and Other Files 1054/1055 providefunctions similar to the functional components with which each isconnected by the dashed lines in an alternative implementation of system1000/1001. That is, in the latter alternative arrangement andimplementation, the Background Page 1050/1051 would fulfill one or morefunctions of the Application Controller 1040/1041; Content ScriptFile(s) 1052/1053 would fulfill one or more functions of the AUIController 1042/1043; and the Other Files 1054/1055 would fulfill one ormore functions of the Other Files 1044/1045. The Manifest File 1056/1057is outlined with a dotted line and connected with dashed lines to theConfiguration File 1046/1047, to indicate that the Manifest File1056/1057 can provide an alternative arrangement to and implementationof part or all of Configuration File 1046/1047. That is, in the latteralternative arrangement and implementation, some or all functions of theConfiguration File 1046/1047 may be embodied in the Manifest File1056/1057.

As described herein, the Extension Files 1048/1049 may be utilized inthe system 1000/1001 to provide additional features or functionalitiesin association with the Browser Application 1032/1033, and thus withrespect to the Browser Window 1012/1013. In the example of system1000/1001, an Extension Icon 1058/1059 represents an icon that isprovided in conjunction with the Browser Application 1032/1033. TheExtension Icon 1058/1059 may be produced by, or in conjunction with, thevarious Extension Files 1048/1049.

A browser extension generated by the Extension Files 1048/1049 maygenerally refer to a browser extension, add-on, active X control, webapplications (web app, app) or any other program code which is designedto augment an appearance or functionality of the Browser Application1032/1033 in providing the Browser Window 1012/1013 and page andelements rendered within it. As such, the Extension Files 1048/1049 mayinclude one or more of various types of files, such as, for example,HTML files, JSON files, CSS files, JavaScript files, image files, audiofiles, text files, or other type of code or content that may be used toextend the features and functionalities provided by the BrowserApplication 1032/1033.

Some or all of the Extension Files 1048/1049 may be understood to bevirtually indistinguishable in appearance, structure, and function withrespect to otherwise conventional webpages which might be rendered bythe Browser Application 1032/1033. Such files can use all thefunctionality of the Browser Application 1032/1033 with respect to therendering of webpages. For example, those Extension Files 1048/1049virtually indistinguishable in appearance, structure, and function withrespect to otherwise conventional webpages may use the variousapplication program interfaces (APIs) that the Browser Application1032/1033 provides to external webpages such as Resource Page 1016.

In additional examples of the Extension Files 1048/1049, an associatedextension may provide functionality to the Browser Application1032/1033, such as a browser action to be implemented by the BrowserApplication 1032/1033 when the extension in question is relevant to mostor all pages to be rendered by the Browser Application 1032/1033 withinthe Browser Window 1012/1013.

Thus, with respect to the simplified example of the system 1000/1001, abrowser action of the Extension Files 1048/1049 may cause the ExtensionIcon 1058/1059 to appear within the Browser Window 1012/1013 essentiallyindependently of the Resource Page 1016. Further, as is known, otherextension functions may be implemented automatically in conjunction withan operation of the Browser Application 1032/1033, e.g., in conjunctionwith the loading and rendering of the Resource Page 1016. Further, as isknown, other extension functions may be implemented programmatically.That is, for example, an extension may be configured to execute in amanner that is dependent upon a user's selection of a feature of theBrowser Application 1032/1033. An extension also may be configured sothat can it can add multiple functions to the Browser Application1032/1033 by utilizing one or more of the implementations describedabove. For example, an extension may be configured so that it executesone or more of these functions automatically and one or more of thesefunctions programmatically. Such an example is described in the figuresand text below.

In the simplified example of the system 1000/1001, the Extension Files1048/1049 are illustrated as being stored locally to the Local ComputingDevice 1002. For example, a user of the Local Computing Device 1002 mayprogram and store the Extension Files 1048/1049 for use by the BrowserApplication 1032/1033. In additional or alternative examples, however,it may be appreciated that some or all of the Extension Files 1048/1049may be accessed remotely. For example, a particular extension may bepackaged within a single folder or archive that may then be accessed bythe Browser Application 1032/1033. For example, a provider and/ordistributor of the Extension Files 1048/1049 (not specificallyillustrated in the example of system 1001/1001) may construct andpackage the Extension Files 1048/1049, and a user of the system1000/1001 may thereby download and install a desired extension,including accessing, downloading, and installing the Extension Files1048/1049 at the Local Computing Device 1002, as shown.

As mentioned, the Extension Files 1048/1049 include various differenttypes of files. For example, the Extension Files 1048/1049 may include aManifest file 1056/1057 which contains information about the extension,such as, its most important files and capabilities and providesconfiguration information to the Browser Application 1032/1033 that willaffect the behavior of the extension at runtime. In another example, asillustrated in the example system 1000/1001, the Extension Files1048/1049 may include a background file or background page, commonly anHTML page, which is generally known to represent an invisible page whichholds the main logic of the extension, and which may thus run in thebackground so as to be always-available in case of some initiation of arelevant extension action. In system 1000/1001, the Background Page1050/1051 fulfills this function (and other functions) and by doing so,fulfills the role of Application Controller 1040/1041 when provided. Forexample, for an extension installed on the Local Computing Device 1002that includes the Extension Files 1048/1049, a browser action may bedefined to have some affect on the rendering of the Resource Page 1016via the Browser Window 1012/1013. Thus, the Extension Icon 1058/1059 mayrepresent or be associated with such a browser action, and theassociated Background Page 1050/1051 may be defined by an HTML filewhich has JavaScript code that controls a behavior of the browser actionassociated with the Extension Icon 1058/1059.

It may be appreciated that the Extension Files 1048/1049 may includevarious other types of files as well. For example, the Extension Files1048/1049 may include other types of HTML pages, such as, for example,an HTML page associated with the browser action providing a pop-upwindow in association with the Browser Window 1012/1013. These may workin coordination with an AUI to provide some of the functions of theExtension Files 1048/1049. Thus, as described, HTML pages and associatedcode within the Extension Files 1048/1049 may include a background pageassociated with the Background Page 1050/1051, as well as a pop-up pageassociated with a corresponding pop-up file (not specificallyillustrated in the example of system 1000/1001).

As illustrated in the example of system 1000/1001, and as referencedabove, the Extension Files 1048/1049 may include, or be associated withContent Script File(s) 1052/1053 which would provide functions of theAUI Controllers 1042/1043. As is known, the Content Script File(s)1052/1053 may represent, or include, one or more content scripts thatenable an associated extension to interact with webpages, e.g., theResource Page 1016. For example, the content script or content scriptsof the Content Script File(s) 1052/1053 may be implemented as JavaScriptthat executes in the context of a Resource Page 1016 as loaded into theBrowser Application 1032/1033. Therefore, the content script or contentscripts of the Content Script File(s) 1052/1053 may be consideredeffectually part of a loaded page, instead of being considered part ofan extension with which the content script or content scripts of theContent Script File(s) 1052/1053 was packaged.

Content scripts, generally speaking, may be configured to read detailsof webpages visited by the Browser Application 1032/1033, and may befurther configured to make changes to such pages. For example, a contentscript may be configured to read and/or modify the Page Model (e.g.,DOM) 1034 of a Resource Page 1036. The specific process for this isknown.

As described in detail herein, the content script or content scripts ofthe Content Script File(s) 1052/1053 may be enabled to communicate withthe Background Page 1050 of the relevant Extension Files 1048/1049 orwith other files/pages associated with the Extension Files 1048/1049.For example, as described in detail or implied below with respect toFIGS. 26, 27, 28, and 29 the content script or content scripts of theContent Script File(s) 1052 may be enabled to exchange messages with anassociated Background Page 1050. For example, the content script orcontent scripts of the Content Script File(s) 1052/1053 might send suchmessages to the associated Background Page 1050/1051 in response to somedetected event. Additionally, the associated Background Page 1050/1051may be enabled to send a message to the content script or contentscripts of the Content Script File(s) 1052/1053 to request the contentscript or content scripts to change the appearance of the relevantbrowser page, (e.g., the Resource Page 1016) in a desired manner. FIGS.26, 27, 28, and 29 describe in detail the message exchange between thecontent script or content scripts of the Content Script File(s) 1052 andthe associated Background Page 1050 and how it is used to result in thedisplay of an AUI, including a Dynamic Navigation UI.

In more specific examples, the content script or content scripts of theContent Script File(s) 1052/1053 may include JavaScript files running ina context of a Resource Page 1016 being rendered. In some exampleimplementations, such as those in FIGS. 26, 27, 28, and 29 the contentscript or content scripts of the Content Script File(s) 1052 shouldalways, or by default, be injected into a Resource Page 1016 to beloaded. For example, such content script or content scripts of theContent Script File(s) 1052/1053 may be registered in the Manifest File1056/1057 of Extension Files 1048/1049 with the corresponding extension.Further, it may be appreciated that a given extension may be configuredto insert multiple content scripts into a Resource Page 1016 during therendering thereof, where each such content script may have multipleJavaScripts, or other types of content script content.

In the example of system 1000/1001, the Local Computer Device 1002 isillustrated as including at least one processor 1060, as well as anon-transitory Computer Readable Storage Medium 1062. That is, forexample, the Local Computing Device 1002 may rely on two or moreprocessors executing in parallel to achieve a desired result. Meanwhile,the non-transitory Computer Readable Storage Medium 1062 may representany conventional type of computer memory which may be used, for example,to store instructions which, when executed by the at least one processor1060, cause the Browser Application 1032/1033 and/or other components ofthe Local Computing Device 1002 and the Display Device 1010 to performvarious functions, including other relevant functions described hereinand the processes described below.

The Servers 1004, 1006 may similarly comprise at least one processor anda non-transitory computer readable storage medium that storesinstructions that when executed by the at least one processor causes theat least one processor to perform the functions attributed to therespective Servers 1004, 1006 described herein.

In the example of FIGS. 1, 2, 22, 23 24, 25, 26, 27, 28, and 29 elementsand components are illustrated including discrete functional modules.However, it may be appreciated that such illustration is merely for thesake of example, and that other implementations are possible. Forexample, a single element or component of the Browser Application1032/1033 may be implemented by two or more elements or and components.Conversely, two or more components of the Browser Application 1032/1033may be executed using a single component. The Application Controller1040/1041 and its embodiment in a Background Page may access thesecomponents and may contain or directly access several sub-components,functions, and data structures not explicitly shown in system 1000/1001.FIGS. 3, 4, 5, 6, 7, 8, 9, 10, 11, 12-16, and 17-21 provide non-limitingvisual representations of several of these components, sub-components,functions, and data structures to help clarify their role in RSPPprocesses utilizing web-based Resources. Additionally, similarcomponents, functions, and data structures may be utilized by the RSPPto execute processes with an application acting at a lower, operationalsystem level that may distinguish between and utilize Resources,including non-web-based Resources (e.g. a word processing document, PDFdocument, spreadsheet, image, etc.), of multiple applications on LocalComputing Device 1002.

It is also important to note that the RSPP may generate, manage andgovern behavior for an Array composed of any number of viewingcomponents including, Browser Windows, Tabs, or Rendered Views, andtheir associated Resources. In addition, the RSPP may generate, manageand govern behavior for multiple Arrays. Furthermore, the RSPP maygenerate, manage and govern behavior for multiple Arrays for multipleArray Types. This implies that system 1000/1001 may be composed of “i”instances of its components, sub-components, functions, and datastructures in addition to a first, “1”, instance of each.

For the sake of clarity, FIGS. 3, 6, 8, 12-16, 22, 23, 26, 27, 28, and29 will represent and follow a “General” example, the focus of whichwill be an example set of components, sub-components, functions, anddata structures and elements of a system 1000 that may be used togenerate, manage and govern behavior for an Array Type of two ArrayBrowser Windows (generally, an Array Browser Window is a browser windowdisplayed as part of an Array and/or recognized by an AMC as a BrowserWindow of one or more of its Arrays), Array Tabs (a tab displayed aspart of an Array and/or recognized by an AMC as a Tab of one or more ofits Arrays) and a single Array Resource (generally, an Array Resource isa Resource displayed in an Array) displayed in each. The “General”example is similar to but describes RSPP processes in more general termsthan the “Education” example. Central to the “General” example is theAMC XY. However, AMC XY and its Array Type provide only a focal point tohelp illustrate a single instance of a range of useful outcomes the RSPPcreates. The “General” example in no way implies the RSPP and maygenerate, manage and govern behavior for only a single, two BrowserWindow Array Type. As shown above and herein, several of the figures anddescriptions explicitly represent and discuss the existence of one ormore Arrays and Array Types. Still, focusing on how the AMC XY interactswith the other components, sub-components, functions, and datastructures throughout the “General” example of system 1000 is usefulbecause it may be used as a model for how one may generate, manage andgovern behavior for any number of other Array Types implemented in arange of systems.

FIG. 3 is intended to help clarify several of the concepts and processesdescribed in this disclosure by providing a visual representation thatfocuses on a “General” example of many of an Array Management Complex's(AMC)'s functional components described herein, specifically those of anAMC XY 1064. This figure does not represent the exact form in which thisAMC or data referenced within will exist within either the ApplicationController 1040 or the Resource Data Set 1026 and/or Other Data Set1028. The figure's purpose is to show in a consolidated and organizedlist, examples of the data, handlers, and other logic that mayconstitute an AMC and are referred to one or more times in thisdisclosure. As shown, an example of data that may be included with ormade accessible to an AMC, AMC XY 1064 in this case, may include thefollowing: Pane Layout 1, 2 1066 (generally, a Pane Layout is a layoutof one or more Panes; Pane Layout 1066 is described in detail in FIGS. 6and 8) and associated Pane Configuration Parameters (PCP)s 1068 a(generally, PCPs may be dimensional data that may include values and/orreferences defining a Pane's position and size; PCPs 1068 a aredescribed in detail in FIGS. 6 and 8), Visual Designator X 1070, VisualDesignator Y 1072, Tab Data Set 1074 (generally, a Tab Data Set may beone or more data structures containing Tab Data Attributes (generally,Tab Data Attributes are attributes associated with a Tab in a Tab DataSet; Tab Data Attributes may include Tab ID, Browser Window ID, ResourceID, and Visual Designator) for Tabs open in a Browser Application; theTab Data Set 1074 may be used as part of a Tab Data Management System(TDMS) to help track which Tabs display the Resources and carry out thefunctions of an Array; an example of how a Tab Data Set is used in aTDMS is described in detail in FIGS. 12-16), and Resource Data Set 1026.As shown, the AMC XY 1064 may include the following handlers: one ormore General Tab and Browser Window Event handlers 1076 (generally,General Tab and Browser Window Event handlers may be one or morehandlers responsible for tracking events that may include Browser Windowand/or Tab creation, Browser Window and/or Tab closing, and URI change),Array Tab tracking handlers 1078 (generally, an Array Tab trackinghandler may be one or more handlers responsible for tracking an AMC'sTab Data Attribute Sets (generally, a Tab Data Attribute Set may be theTab Data Attributes associated with a Tab) similar to what is describedin FIGS. 12-16), Array Generation Message (AGM) handlers 1080(generally, an AGM handler is one or more handlers that receives anArray Generation Message (AGM) (generally, an AGM may be a message,triggered by an Array Generation Event initiating an Array GenerationProcess, that may continue the Array Generation Process upon receptionby the AMC; the Array Generation Message may include 1) one or moreResource IDs and/or the Browser Window IDs and/or Tab IDs and/orRendered View IDs to be included in the intended Array and 2)information indicating to the AMC to generate and manage the intendedArray; an AGM may include all, part, or none of a Resource Payload'selements, including a Resource's Visual Designator, for one or moreResource IDs conveyed in the AGM)), and Event X AMH 1082 (generally, anEvent X AMH may be one or more Array Management Handlers (AMH)s thatreceives an Event X Message and may initiate an Array Responsive ActionProcess; more generally, an AMH may be a handler used in the generation,management, and governing of the behavior of one or more Arrays). Asshown, an AMC may include the following other functions and logic:Resource-Pane Visual Designator Matching 1084 (the matching of a Paneand Resource by virtue of each being associated with a common VisualDesignator; Resource-Pane Visual Designator Matching 1084 is describedin greater detail in FIG. 11), and Browser Window sizing and positioning1086.

To provide additional context for the description above, the followingrelates the information elements shown in FIG. 3 to those of the“Education” example: the AMC XY 1064 would be termed the AMC FC, toindicate that the AMC FC generates, manages, and governs the behavior ofan Array associated with the Visual Designators Focus or Context; aResource associated with Focus would be displayed on a Pane L, the lefthalf of the Client Area 1030 of the Display Device 1010; a Resourceassociated with Context would be displayed on a Pane R, the right halfof the Client Area of the Display Device (while each Pane is associatedto a specific Visual Designator in the “General” and “Education”examples herein, these relationships can be altered for a given AMC. Forexample, for AMC FC the Visual Designator Focus could be associated withPane R and the Visual Designator Context could be associated with PaneL, thus, switching the side of the Display Device on which each Resourceof the Array is displayed. In such a case, the same AMC FC might bebetter termed AMC CF. Likewise, a similar switch in the “General”example might make AMC XY 1064 better termed AMC YX.) The Pane Layout1,2 1066 and PCPs 1068 a would be the Pane Layout LR, composed of Pane Land Pane R defined by PCPs 1068 a; the Tab Data Set would be a Tab DataSet 1074 similar to that in the Tab Data Set 1074 a of FIGS. 12-16; theResource Data Set 1026 would include a Resource ID Data Set 1088 (shownand discussed in detail in FIG. 10); the General Tab and Browser WindowEvent handlers 1076 would be those associated with the Tab DataManagement System (TDMS) such as the TDMS described in detail for theTab Data Set 1074 a of FIGS. 12-16; the Array Tab tracking handler 1078would be responsible for tracking an AMC FC's Tab Data Attribute Setssimilar to what is described in the Tab Data Set FIGS. 12-16; the AGMhandler 1080 would receive one or more AGMs; the Event X AMR 1082 couldbe that responsible for initiating (upon receiving a Navigate Messagethat continues a Navigation Process or other navigation process, fromthe third and fourth Resources associated with the Group Education,Sub-Group Ancient Rome, and Focus) an Array Responsive Action Processthat initiates a navigation from the first Resource (one or more GoogleMap Views of the Colosseum) associated with the Group Education,Sub-Group Ancient Rome, third Focus Resource (a chapter of an eTextbookon Roman Engineering), and Context Visual Designator, to the firstResource (one or more Google Map Views of the Roman Forum) associatedwith the Group Education, Sub-Group Ancient Rome, fourth Focus Resource(an educational video on the Roman Forum), and Context VisualDesignator; the Resource-Pane VD “matching” 1084 function would performthe function shown in the “matching” figure discussed below; and theBrowser Window sizing and positioning 1086 function would size andposition each Resource associated with Group Education, Sub-GroupAncient Rome, and Focus Visual Designator to the Pane L on the left halfof the Client Area of the Display Device and size and position eachResource associated with Group Education, Sub-Group Ancient Rome, aResource associated with Focus Resource, and Context Visual Designatorto the Pane R on the right half of the Client Area of the DisplayDevice.

FIG. 4 shows how some of the functional components of the ArrayManagement Complex of the “General” example of FIG. 3 of system 1000 maybe slightly modified to those of system 1001. As shown, an example ofdata that may be included with or made accessible to an AMC, AMC XY 1065in this case, may include the following: Pane Layout 1, 2 1067 andassociated PCPs 1069 a, Visual Designator X 1070, Visual Designator Y1072, Rendered View Data Set 1075 (described in detail in FIGS. 17-21),and Resource Data Set 1026. As FIG. 9 will show, the Pane Layout 1, 21067 and associated PCPs 1069 a differ from Pane Layout 1, 2 1066 andassociated PCPs 1068 a primarily because the former define Panes asareas within the Canvas Area 1031 of a single Browser Window 1013 whilethe latter define Panes as areas within the Client Area 1030. As shown,the AMC XY 1065 (or any AMC) may include the following handlers: one ormore General Rendered View, Tab, and Browser Window Event handlers 1077,Array Rendered View tracking handlers 1079, AGM handlers 1081, and EventX AMH 1083. These components differ from those of the “General” exampleprimarily by adding an additional tracking layer and data element totake into account the presence of more than one Rendered View and thesimultaneous display of the latter Rendered Views' Resources within asingle Browser Window 1013. As shown, an AMC may include the followingother functions and logic: Resource-Pane Visual Designator Matching 1085and Rendered View sizing and positioning 1087. These components differfrom those of the “General” example primarily to account for their useof Panes defined within the Canvas Area 1031 of a single Browser Window1013 rather than Panes defined by the entire Client Area 1030 of DisplayDevice 1010.

FIG. 5 is intended to help clarify several of the concepts and processesdescribed in this disclosure by providing a visual representation thatfocuses on a “General” example of Visual Designators residing in aVisual Designator Data 1090 data structure that may be directly inand/or accessible by the AMC XY 1064. This figure is provided for thesake of clarity and does not imply that Visual Designators must exist asa single data structure. The Visual Designators may be made availablefor use by the Application Controller 1040 and AMC XY 1064 in a varietyways including the following: as part of multiple data structures withinthe Resource Data Set 1026; as part of the AMC XY 1064 and/orApplication Controller 1040 code itself.

To provide additional context for the description above, the followingrelates the information elements shown in FIG. 5 to those of the“Education” example described throughout this disclosure: the VisualDesignator X 1070 would correspond to the Visual Designator Focus; theVisual Designator Y 1072 would correspond to the Visual DesignatorContext.

FIG. 6 is intended to help clarify several of the concepts and processesdescribed in this disclosure by providing a visual representation thatfocuses on a “General” example of how PCPs may exist and define Panes ofa Pane Layout and each of those Panes may be associated with a VisualDesignator (X or Y). As shown, each Pane, Pane 1 1092 and Pane 2 1094,is defined by both Position and Size PCPs. The “x” and “y” coordinatesof each are meant to provide a non-limiting visual representation of theconcept of the Position and Size parameters that may be used to define aPane in the Client Area 1030 of a Display Device 1010. Position and Sizecan be calculated using a variety of variables and Display Deviceattributes and may be represented in a code base by characters otherthan “x” or “y”; the “x” and “y” coordinates are in no way related tothe “X” and “Y” of Visual Designators X 1070 and Y 1072.

Also, this example does not imply that PCPs must exist in the same formor structure shown in this figure. The PCPs may be made available foruse by the AMC XY 1064 in a variety ways including the following: aspart of multiple data structures within the Resource Data Set 1026; aspart of one or more structures within the Application Controller 1040and/or AMC XY 1064 code itself.

PCPs may be composed of variables and Display Device attributes, PCPsdefine Panes, and Panes may be associated with one or more VisualDesignators. The PCPs represented here also may be altered both in formand number.

It is important to note that the RSPP includes processes similar to theArray Generation Process and Array Responsive Action Process in which aVisual Designator may be the PCPs of a Pane itself.

To provide additional context for the description in the precedingparagraphs, the following relates the information elements shown in FIG.6 to those of the “Education” example described earlier in thisdisclosure: Pane 1 1092 would correspond to Pane L and the left half ofthe Client Area of the Display Device; the Visual Designator X 1070 withwhich Pane 1 is associated would correspond to the Visual DesignatorFocus; Pane 2 1094 would correspond to Pane R and the right half of theClient Area of the Display Device; the Visual Designator Y 1072 withwhich Pane 2 is associated would correspond to the Visual DesignatorContext.

FIG. 7 shows how the PCPs and Panes of the “General” example of FIG. 6of system 1000 may be slightly modified to those of system 1001; theassociation of the PCPs and Panes with Visual Designators does not needto change.

As shown, each Pane, Pane 1 1093 and Pane 2 1095, may be defined by bothPosition and Size PCPs. The “x” and “y” coordinates of each are meant toprovide a non-limiting visual representation of the concept of thePosition and Size parameters that may be used to define a Pane in theCanvas Area 1031 of a Browser Window 1013 of Display Device 1010.Position and Size can be calculated using a variety of variablesincluding those necessary to programmatically reposition and/or resizeeach Pane as the Browser Widow 1013 is repositioned and/or resized sothat each Pane represents a relative portion of the Canvas Area 1031rather than a fixed portion of the Display Device 1010. For example, asthe Canvas Area 1031 of Browser Window 1013 decreases in width andheight, the variables of the parameters represented by the “x” and “y”coordinates in FIG. 7 may be used to affect a corresponding resize ofthe width and height of Pane 1 1093 and Pane 2 1095. Doing so wouldensure that each Pane maintains the same relative position and sizewithin the available Canvas Area 1031 before and after a resize ofBrowser Window 1013. As in FIG. 6 the PCP variables and attributes maybe represented in a code base by characters other than “x” or “y”; andthe “x” and “y” coordinates are in no way related to the VisualDesignators X 1070 and Y 1072.

FIG. 8 is intended to help clarify several of the concepts and processesdescribed in this disclosure by providing a visual representation thatfocuses on a “General” example of how Panes may define areas on DisplayDevice 1010 by virtue of each Pane's PCPs. As shown in this figure, itmay be desirable to configure an Array of two Panes with each Paneoccupying half of the Client Area 1030 of the Display Device 1010. Toensure each Pane occupies “half” of the Client Area 1030 of any DisplayDevice 1010, it may be desirable to make the Position and Sizeparameters dependent on one or more attributes, including screen pixellocation of the Display Device on which the Array will be displayed sothat the Position and Size may vary between Display Devices as needed.PCPs can be calculated programmatically so that the Array Panes'Position and Size vary with the size, quality, and number of the user'sDisplay Device in order to provide an Array in which Panes maintain aconsistent relative position and size across Display Devices. In thisfigure, Pane 1 1092 is defined by the PCP coordinates associated withPane 1 in FIG. 6 and Pane 2 1094 is defined by the PCP coordinatesassociated with Pane 2 in FIG. 6. It is important to note that each PaneLayout may be altered both in form and number of Panes and that morethan one Pane Layout may be made available to one or more AMCs. Forexample, Pane Layout 1, 2 1066 may be altered so that Pane 1 1092 andPane 2 1094 each compose less than half of the Client Area 1030 of theDisplay Device 1010; also, another Pane Layout, Pane Layout 1, 2, 3 mayexist that fits Pane 1 to the left half, Pane 2 to the right top half,and Pane 3 to the bottom right half of the Client Area of the DisplayDevice; the latter Pane Layout 1, 2, 3 maybe associated with an AMC ZYX.There are many possible configurations including those that includemultiple display devices.

To provide additional context for the description above, the followingrelates the information elements shown in FIG. 8 to those of the“Education” example described throughout this disclosure: Pane 1 1092would correspond to Pane L and the left half of the Client Area of theDisplay Device and constitute one Pane of the Pane Layout L, R of theArray to be generated and managed by the AMC FC; Pane 2 1094 wouldcorrespond to Pane R and the right half of the Client Area of theDisplay Device and constitute one Pane of the Pane Layout L, R of theArray to be generated and managed by the AMC FC.

FIG. 9 shows how the PCPs and Panes of the “General” example of system1000 of FIG. 8 may be slightly modified to those of system 1001. FIG. 9provides a visual representation of an example of how Panes may defineareas on the Canvas Area 1031 of a Browser Window 1013 of Display Device1010 by virtue of each Pane's PCPs. As shown in this figure, it may bedesirable to configure an Array of two Panes with each Pane occupyinghalf of the Canvas Area 1031 of the Browser Window 1013 of DisplayDevice 1010. To ensure each Pane occupies “half” of the Canvas Area1031, it may be desirable to make the Position and Size parametersdependent on one or more variables and/or attributes, including the sizeand position of the Canvas Area of the Browser Window 1013 in which theArray will be displayed. PCPs can be calculated programmatically so thatthe Array Panes' Position and Size vary with the those of the BrowserWindow 1013 in order to provide an Array in which Panes maintain aconsistent relative position and size. In this figure, Pane 1 1093 isdefined by the PCP coordinates associated with Pane 1 in FIG. 7 and Pane2 1095 is defined by the PCP coordinates associated with Pane 2 in FIG.7. It is important to note that each Pane Layout may be altered both inform and number of Panes and that more than one Pane Layout may be madeavailable to one or more AMCs. There are many possible configurationsincluding those that include multiple display devices.

FIG. 10 is intended to help clarify several of the concepts andprocesses described in this disclosure by providing a visualrepresentation that focuses on a “General” example of a Resource ID DataSet 1088 structure and how a Resource of a Resource Set may exist and beassociated with a Visual Designator and associated with a Pane definedby PCPs. The Resource Data attributes listed under each Resource “i”,are those Resource ID Data Attributes commonly part of each Resource'sResource ID Data Attribute Set. However, this example does not implythat the Resource ID Data Attributes shown in this figure must exist inthe form and structure of a Resource ID Data Attribute Set. There are anumber of ways in which the Resource ID Data Attributes shown in thisfigure may be organized, structured, and made available to theApplication Controller and AMC XY as part of the Resource Data Set 1026for use in the RSPP. Each Resource of a Resource Set may be associatedwith a Visual Designator that has been associated with a Pane defined byPCPs. As noted, the RSPP includes processes similar to the ArrayGeneration Process and Array Responsive Action Process in which a VisualDesignator may be the PCPs of a Pane itself.

In this “General” example, each Resource associated with a VisualDesignator Y is associated with a specific Resource associated with aVisual Designator X. For example, there is a Resource 3 with theResource Data attributes: Resource ID 3, URI 5, Group 1, Tag 1A, and VDX. Also, there is a Resource 5 with the Resource Data attributes:Resource ID 5, URI 7, Group 1, Tag 1A, Resource 3, and VD Y. For anotherexample there is a Resource 4 with the Resource Data attributes:Resource ID 4, URI 6, Group 1, Tag 1A, and VD X. Also, there is aResource 6 with the Resource Data attributes: Resource ID 6, URI 8,Group 1, Tag 1A, Resource 4, and VD Y. As shown, Resource 5 has beenassociated with Resource 3 and, as such, has been given the attributeResource 3 indicating it is associated with that specific Resource;Resource 3 is not given the attribute Resource 5. However, each set ofResources associated with a Visual Designator do not have to be linkedto a specific Resource within the Resource Set that has been associatedwith a different Visual Designator. For example, Resources 5 and 6 stillcould be associated with a Visual Designator Y for Group 1, Sub-GroupTag 1A by removing the linkage of each to Resource 3 and Resource 4,respectively. More generally, each Resource of a Resource Set may beassociated with a Visual Designator that has been associated with a Panedefined by PCPs.

To provide additional context for the description above, the followingrelates the information elements shown in FIG. 10 to those of the“Education” example described throughout this disclosure: Resource 3could correspond to the chapter of an eTextbook on Roman Engineering;Resource 3's Visual Designator X would be a Visual Designator Focus;Resource 4 could correspond to the educational video on the Roman Forum;Resource 4's Visual Designator X would be a Visual Designator Focus;Resource 5 could correspond to the one or more Google Map Street viewsof the Colosseum and be linked to Resource 3; Resource 5's VisualDesignator Y would be a Visual Designator Context; Resource 6 couldcorrespond to the one or more Google Map Street views of the Roman Forumand be linked to Resource 4; Resource 6's Visual Designator Y would be aVisual Designator Context.

FIG. 11 is intended to help clarify several of the concepts andprocesses described in this disclosure by providing a visualrepresentation that focuses on a “General” example of AMC XY 1064 havingmatched Resources of a Resource Set, each with a Pane of a Pane Layoutdefined by PCPs by virtue of the Visual Designators each Resource-PanePair has in common. This figure does not represent how this data wouldexist within either the Application Controller 1040, AMC XY 1064 or theResource Data Set 1026. For example, Resource ID may be used in place ofthe concept of a Resource to affect the “matching” of a Resource andPane by virtue of a common Visual Designator. Instead, the figure ismeant to clarify that the function of “matching” Resources of a ResourceSet and Panes of a Pane Layout may be carried out by the AMC. As noted,the RSPP may include processes similar to the Array Generation Processand Array Responsive Action Process in which a Visual Designator may bethe PCPs of a Pane itself. In such a case, a component, similar infunction to an AMC, may utilize a Visual Designator, or the immediateassociation between a Resource and a Pane, directly to affect theintended positioning of a Resource to a Pane of the Client Area 1030(or, using the components of system 1001, to a Pane of the Canvas Area1031 of Browser Window 1013).

To provide additional context for the description above, the followingrelates the information elements shown in FIG. 11 to those of the“Education” example described throughout this disclosure: Resource 3could correspond to the chapter of an eTextbook on Roman Engineering;Resource 3's Visual Designator X would be a Visual Designator Focus;Pane L would correspond to the left half of the Client Area of theDisplay Device and constitute one Pane of the Pane Layout LR of theArray to be generated and managed by the AMC FC; the chapter of aneTextbook on Roman Engineering would be associated with the left half ofthe Client Area of the Display Device through “matching” by the AMC FC;Resource 5 could correspond to the one or more Google Map Street viewsof the Colosseum and be linked to Resource 3; Resource 5's VisualDesignator Y would be a Visual Designator Context; Pane R wouldcorrespond to the right half of the Client Area of the Display Deviceand constitute one Pane of the Pane Layout LR of the Array to begenerated and managed by the AMC FC; the one or more Google Map Streetviews of the Colosseum would be associated with the right half of theClient Area of the Display Device through “matching” by the AMC FC.

FIGS. 12, 13, 14, 15, 16, are intended to help clarify several of theconcepts and processes associated with the use of a Tab Data ManagementSystem (TDMS) in one or more variants of the Array Generation Processand Array Responsive Action Process by providing a visual representationthat focuses on a “General” example based on system 1000 components ofhow a TDMS may exist and in coordination with one or more AMCs,including an AMC XY 1064, accomplish goals including the followingthree: 1) reducing the number of tabs and browser windows open anddisplayed in a Display Device 1010 at a given time; 2) reducing theprocessing burden on the Local Computing Device 1002; and 3) reducinginstances of code used for one or more variants of the Array GenerationProcess and Array Responsive Action Process and thus, the burden oninitial development and subsequent maintenance of the code base.

In one of its simplest forms, the Array Generation Process, using thecomponents of system 1000, may generate an Array by generating a new taband browser window for each Array Resource of an Array. In circumstancesin which Array generation occurs infrequently and/or the number ofpossible Arrays and/or Array Types (in terms of Pane Layout, Array Typebehavior, etc.) is limited to one or a few, a less robust or no TDMS maybe desirable. However, as the frequency of Array generation and/or thenumber of possible Arrays and/or Array Types increases, a more robustTDMS becomes increasingly important in order to accomplish the threegoals stated above.

A TDMS may exist and in coordination with one or more AMCs, including anAMC XY 1064, accomplish the three goals mentioned above while providingthe Application Controller the ability to generate and manage multipleArray Types and Instances. As shown in each figure, there are severaldata elements the TDMS can incorporate into a Tab Data Set 1074. In this“General” example showing Tab Data Set 1074 a, each column of dataelements has a header, Tab “i”, with seven data elements listed underit. Each Tab “i” represents a single Tab 1014 open in a BrowserApplication 1032. The seven data elements under Tab “i” are its Tab DataAttributes. The set of seven Tab Data Attributes are collectively a TabData Attribute Set (the seven Tab Data Attributes listed do not implythat Tab Data Attributes must be limited to these seven). For example,Tab “3”'s Tab Data Attribute Set, third from the left on the top row ofFIG. 14, shows the following Tab Data Attributes for Tab “3”: Tab ID 3,Window ID 1, Resource ID 3, VD X, Related Tab ID 15, None, and AMC IDXY. Tab ID 3 is the Tab ID assigned to Tab “3” by the BrowserApplication 1032. Resource ID 3 is the Resource ID of the Resourcedisplayed in Tab “3”. Window ID 1 is the Window ID assigned to theBrowser Window 1012 in which Tab “3” is displayed. VD X is the VisualDesignator associated with Resource 3. Related Tab ID 15 is the Tab IDof the Tab displaying the second Resource of the Array of which Resource3 of Tab “3” is a part. None indicates there is not another related Tabin the Array of which Resource 3 of Tab “3” is a part. AMC ID XY is theattribute that indicates both that a Tab is part of an existing Arrayand which AMC is managing the existing Array; the XY is meant torepresent that the AMC managing the Array is one managing an Array withtwo Visual Designators, X and Y, each of which may correspond to asingle Pane of the Array's Pane Layout and a Resource of a Resource Set.As indicated, Tab “15” is the second Array Tab of the Array of which Tab“3” and Tab “15” are a part. As shown in FIG. 14, Tab “15” displaysResource 5 which is associated with the VD Y and Tab ID 3 of Tab “3”.

FIG. 12: During the lifecycle of a Tab, the Tab Data Attributes will beformed and updated by the TDMS. In this example, the TDMS is assumed tobe a set of shared handlers and logical components from one or moreAMCs, including AMC XY 1064. As shown in this figure, Tab “3” comes intoexistence displaying a page of a non-Resource URI. The TDMS may containone or more handlers that listen for and capture Tab creation events.Upon receiving the Tab ID (Tab ID 3) and Browser Window ID (Window ID 1)assigned to the newly created Tab, the TDMS can respond by creating anew Tab Data Attribute Set and writing Tab ID 3 and Window 1 to the TabID and Window ID Tab Data Attributes, respectively. In this example, Tab“3” initially displays the page of a non-Resource URI, www.google.com.As implied in this figure, the Application Controller 1040 and/or AMC,including AMC XY 1064, can retrieve and/or receive the URI of Tab “3”,and check the URI against the URIs of existing Resources. In the casewhere the URI is found to be a non-Resource URI, as in this example, theTDMS may write the URI to the Tab Data Attribute set. Because Tab “3”displays a Non-Array, non-Resource, there are no Tab Data Attributes forVisual Designator or related tabs at this point.

The last Tab Data Attribute shown is TNAT. In order to minimize thenumber of open tabs, an AMC may recognize Targeted Non-Array Tabs(TNAT)s. Each AMC may have unique criteria for determining what tabswill constitute that AMC's TNATs. For example, one AMC may target onlytabs displaying a page of a URI of an email provider or a Non-Array Tabdisplaying the same Resource as an Array Tab while another AMC maytarget only tabs displaying www.google.com or a Non-Array Tab displayingthe same Resource as an Array Tab. The “General” example for this figureassumes that each AMC has the same criteria for determining a TNAT andonly target tabs displaying www.google.com or a Non-Array Tab displayingthe same Resource as an Array Tab. Therefore, as shown in this figure,Tab “3”'s initial URI, www.google.com, gets recognized as that of a TNATand has that attribute written to its Tab Data Attributes. In thisfigure, Tab “15”'s Tab Data Attributes are the same as those of Tab “3”.

FIG. 13: Later in Tab “3”'s lifecycle its URI might change to that of aResource URI, such as one of Resource 3's URIs. The ApplicationController 1040 and/or AMC, including AMC XY 1064, can receiveindications of and respond to the URI change event by checking the Tab'snew URI against existing Resource URIs and replacing the existing Tab'sformer URI, www.google.com, with the URI and/or Resource ID identifyingthe URI as that of an existing Resource. In this case, Tab “3”'s URIchanges to a URI of Resource ID 3 and has that ID written to its TabData Attribute Set. Once the page of the URI displayed has beendetermined to be that of a Resource, the TDMS, Application Controller1040 and/or AMC, including AMC XY 1064, can retrieve the one or moreVisual Designators associated with the Resource ID and write this VisualDesignator as a Tab Data Attribute. In this example, the VisualDesignator is VD X. Because Tab “3” displays a Non-Array Resource, Tab“3” does not have Tab Data Attributes for related tabs or an AMC. Tab“3”'s TNAT attribute gets removed because Tab “3” no longer meets theTNAT criteria of the AMCs. However, Tab “15”, still displayingwww.google.com, remains a TNAT and as a TNAT maybe targeted by an AMCduring an Array Generation Process. The following figure, FIG. 14,assumes an Array Generation Process is initiated for AMC XY 1064.

FIG. 14: Frequently, and as assumed in this example, Arrays may begenerated from an Application UI in a displayed Resource Page. The tabdisplaying a Resource Page and Application UI from which an ArrayGeneration Event and AGM is initiated may be specified in the AGM as oneto be included in the Array to be created, managed, and whose behaviormay be governed by the AMC; the latter is assumed in this example aswell and, thus, the AMC XY 1064 writes its ID, AMC ID XY, as a Tab DataAttribute of Tab “3”, acknowledging that Tab “3” is one of the tabs AMCXY 1064 will manage and govern during the lifecycle of the Array it willmanage. AMC XY 1064 may also retrieve Tab “3”'s Resource ID, Resource ID3, and Visual Designator, VD X. This example assumes that the Resourcesassociated with VD Y are associated to the Resources associated with VDX (this relationship is the same as that between Resources associatedwith Focus (VD X) and Resources associated with Context (VD Y) asdiscussed in the “Education” example used throughout this disclosure).Therefore, upon receiving Resource ID 3, the AMC XY 1064 can understandthat it will need to retrieve the Resource ID and Visual Designator fora Resource associated with Resource 3. The AMC XY 1064 may firstretrieve the Resource ID of one of Resource 3's related Resources byquerying the Resource Data Set 1026 which contains this information forResource 3. Once this Resource ID is received the AMC XY 1064 can thenretrieve the Visual Designator from the latter Resource ID's ResourceData in the Resource Data Set 1026. This example assumes the Resource IDis Resource ID 5 and its Visual Designator is Y. Upon receiving theinformation defining what Resource and Visual Designator the AMC XY 1064will need to complete its Array, the AMC XY may query the Tab Data Set1074a to determine whether a TNAT (either a Non-Array Tab existsdisplaying Resource ID 5 or www.google.com) exists that it can use asthe second tab of its Array to avoid needlessly generating a new tab. Inthis case, such a query identifies Tab “15” as a TNAT and returns thatinformation to the AMC XY 1064. The Application Controller 1040 and/orAMC XY 1064 may then affect the process to change Tab “15”'s displayedpage to that of the page of the URI of Resource 5 and incorporate Tab“15” into the Array containing Tab “3”, ultimately writing to Tab “15”'sTab Data Attributes the AMC XY's ID, AMC ID XY. In addition, in order todifferentiate the Array containing Tabs “3” and “15” from another AMC XYArray (such as that containing Tabs “5” and “8”), the AMC XY 1064 canalso write to Tab “3”'s Tab Data Attribute Set that it is related to Tab“15” and to Tab “15”'s Tab Data Attribute Set that it is related to Tab“3”.

The Tab Data Attribute Sets for Tab “3” and “15” in this figure reflectthat the Array Generation Process has completed for Tab “3” and Tab“15”. For the next figure it is important to note that in this figureTab “4” displays the Resource Page of a URI of Resource ID 4 which isassociated with VD X, that Tab “16” displays the Resource Page of a URIof Resource ID 6 which is associated with VD Y, and neither Tab “4” nor“16” have been assigned a TNAT attribute.

FIG. 15: This figure assumes that some time after the Array GenerationProcess has been completed for Tab “3” and “15”, an Array ResponsiveAction Process is initiated for the Array by affecting a NavigationProcess or other navigation process in Tab “3” from the Resource Page ofa URI of Resource ID 3 to the Resource Page of a URI of Resource ID 4.Because, in this example, the Resources in the Array associated with VDY are associated with a specific Resource in the Array associated withVD X, the navigation from a URI of Resource ID 3 to that of a URI ofResource ID 4 affects a responsive Navigation Process or othernavigation process in Tab “15” from the URI of Resource ID 5 which isassociated specifically to Resource ID 3 to that of a URI of Resource ID6 which is associated specifically to Resource ID 4. As the events occurthat generate data elements constituting the Tab Data Attributes for theTab Data Attribute Sets for Tab “3” and Tab “15”, each may be written tothe Tab Data Set, updating the Tab Data Set to reflect the current stateof each Tab, its displayed Resource, and the relationship of both to theArray of which they are a part.

The Tab Data for Tab “3” and “15” in FIG. 15 reflects that the ArrayResponsive Action Process has completed for Tab “3” and Tab “15”. Thisfigure also shows Tab “4” and “16” both now have become TNAT. The reasonfor the latter being that each tab now displays a Non-Array Resourcethat is the same as an Array Resource; Tab “4” displays a Resource Pageof the URI of Resource ID 4 which, for this example, is the sameResource Page of the URI of Resource ID 4 displayed in Tab “3”; Tab “16”displays a Resource Page of the URI of Resource ID 6 which, for thisexample, is the same Resource Page of the URI of Resource ID 6 displayedin Tab “15”.

FIG. 16: This figure shows Tab “15” has been deleted and replaced in theArray governing Tab “3” with Tab “16”, formerly a TNAT. Tab “3” nowreflects that it is related to Tab “16” and Tab “16” reflects that it isnow related to Tab “3”.

As described, during one or more variants of both the Array GenerationProcess and Array Responsive Action Process a TDMS in coordination withone or more AMCs may track and manage the tabs of one or more Arrays ofone or more Array Types while reducing 1) the number of tabs and browserwindows open and displayed in a Display Device 1010 at a given time; 2)the processing burden on the Local Computing Device 1002; and 3)instances of code used for one or more variants of the Array GenerationProcess and Array Responsive Action Process and thus, the burden oninitial development and subsequent maintenance of the code base. Asnoted, the RSPP may include processes similar to the Array GenerationProcess and Array Responsive Action Process in which a Visual Designatormay be the PCPs of a Pane itself Also as noted, in such a case, acomponent, similar in function to an AMC, may utilize a VisualDesignator, or the immediate association between a Resource and a Pane,directly to affect the intended positioning of a Resource to a Pane ofthe Client Area 1030. During the processes similar to the ArrayGeneration Process and Array Responsive Action Process in which a VisualDesignator may be the PCPs of a Pane itself, this component, incoordination with a TDMS variant similar to the example TDMS describedin FIGS. 12-16, may track and manage the tabs of one or more groups ofResources.

FIGS. 17, 18, 19, 20, 21, are intended to help clarify several of theconcepts and processes associated with the use of a Rendered View DataManagement System (RVDMS) in one or more variants of the ArrayGeneration Process and Array Responsive Action Process by providing avisual representation that focuses on an example based on system 1001components of how a RVDMS may exist and in coordination with one or moreAMCs, including an AMC XY 1065, accomplish goals including the followingthree: 1) reducing the number of Rendered Views, tabs, and browserwindows open and displayed in a Display Device 1010 at a given time; 2)reducing the processing burden on the Local Computing Device 1002; and3) reducing instances of code used for one or more variants of the ArrayGeneration Process and Array Responsive Action Process and thus, theburden on initial development and subsequent maintenance of the codebase.

In one of its simplest forms, the Array Generation Process, using thecomponents of system 1001, may generate an Array by generating either anew Rendered View within a single browser window for each Array RenderedView of an Array or a new browser window and/or tab for each Array Tabof an Array. In circumstances in which Array generation occursinfrequently and/or the number of possible Arrays and/or Array Types (interms of Pane Layout, Array Type behavior, etc.) is limited to one or afew, a less robust or no RVDMS may be desirable. However, as thefrequency of Array generation and/or the number of possible Arraysand/or Array Types increases, a more robust RVDMS becomes increasinglyimportant in order to accomplish the three goals stated above.

A RVDMS may exist and in coordination with one or more AMCs, includingan AMC XY 1065, accomplish the three goals mentioned above whileproviding the Application Controller the ability to generate and managemultiple Array Types and Instances. As shown in each figure, there areseveral data elements the RVDMS can incorporate into a Rendered ViewData Set 1075. In this example showing Rendered View Data Set 1075 a,each column of data elements has a header, RV “i”, with eight dataelements listed under it. Each RV “i” represents a single Rendered Viewof a Browser Application 1033. The eight data elements under RV “i” areits Rendered View Data Attributes. The set of eight Rendered View DataAttributes are collectively a Rendered View Data Attribute Set (theeight Rendered View Data Attributes listed do not imply that RenderedView Data Attributes must be limited to these eight). For example, RV“3”'s Rendered View Data Attribute Set, third from the left on the toprow of FIG. 19, shows the following Rendered View Data Attributes for RV“3”: RV ID 3, Tab ID 3, Window ID 1, Resource ID 3, VD X, Related RV ID15, None, and AMC ID XY. RV ID 3 is the RV ID assigned to RV “3” by theBrowser Application 1033. Tab ID 3 is the Tab ID of the Tab in whichResource 3 is displayed. Resource ID 3 is the Resource ID of theResource displayed in RV “3”. Window ID 1 is the Window ID assigned tothe Browser Window 1013 in which RV “3” is displayed. VD X is the VisualDesignator associated with Resource 3. Related RV ID 15 is the RV ID ofthe RV displaying the second Resource of the Array of which Resource 3of RV “3” is a part. None indicates there is not another related RV inthe Array of which Resource 3 of RV “3” is a part. AMC ID XY is theattribute that indicates both that a RV is part of an existing Array andwhich AMC is managing the existing Array; the XY is meant to representthat the AMC managing the Array is one managing an Array with two VisualDesignators, X and Y, each of which may correspond to a single Pane ofthe Array's Pane Layout and a Resource of a Resource Set. As indicated,RV “15” is the second Array Rendered View of the Array of which RV “3”and RV “15” are a part. As shown in FIG. 19, RV “15” displays Resource 5which is associated with the VD Y and RV ID 3 of RV “3”.

FIG. 17: During the lifecycle of a RV, the Rendered View Data Attributeswill be formed and updated by the RVDMS. In this example, the RVDMS isassumed to be a set of shared handlers and logical components from oneor more AMCs, including AMC XY 1065. As shown in this figure, RV “3”comes into existence displaying a page of a non-Resource URI. The RVDMSmay contain one or more handlers that listen for and capture eventsindicating RV creation. Upon receiving the RV ID (RV ID 3), Tab ID, andBrowser Window ID (Window ID 1) assigned to the newly created RV, theRVDMS can respond by creating a new Rendered View Data Attribute Set andwriting RV ID 3, Tab 3, and Window 1 to the RV ID, Tab ID, and Window IDRendered View Data Attributes, respectively. In this example, RV “3”initially displays the page of a non-Resource URI, www.google.com. Asimplied in this figure, the Application Controller 1041 and/or AMC,including AMC XY 1065, can retrieve and/or receive the URI of RV “3”,and check the URI against the URIs of existing Resources. In the casewhere the URI is found to be a non-Resource URI, as in this example, theRVDMS may write the URI to the Rendered View Data Attribute set. BecauseRV “3” displays a Non-Array, non-Resource, there are no Rendered ViewData Attributes for Visual Designator, or related Rendered Views at thispoint.

The last Rendered View Data Attribute shown is TNARV. In order tominimize the number of open Rendered Views, tabs, and browser windows anAMC may recognize Targeted Non-Array Rendered Views (TNARV)s. Each AMCmay have unique criteria for determining what Rendered Views willconstitute that AMC's TNARVs. For example, one AMC may target onlyRendered Views displaying a page of a URI of an email provider or aNon-Array Rendered View displaying the same Resource as an ArrayRendered View while another AMC may target only Rendered Viewsdisplaying www.google.com or a Non-Array Rendered View displaying thesame Resource as an Array Rendered View. The example for this figureassumes that each AMC has the same criteria for determining a TNARV andonly targets Rendered Views displaying www.google.com, www.bing.com or aNon-Array Rendered View displaying the same Resource as an ArrayRendered View. Therefore, as shown in this figure, RV “3”'s initial URI,www.google.com, gets recognized as that of a TNARV and has thatattribute written to its Rendered View Data Attributes. Likewise RV“15”'s initial URI, www.bing.com, gets recognized as that of a TNARV andhas that attribute written to its Rendered View Data Attributes.

FIG. 18: Later in RV “3”'s lifecycle its URI might change to that of aResource URI, such as one of Resource 3′s URIs. The ApplicationController 1041 and/or AMC, including AMC XY 1065, can receiveindications of and respond to the URI change event by checking the RV'snew URI against existing Resource URIs and replacing the existing RV'sformer URI, www.google.com, with the URI and/or Resource ID identifyingthe URI as that of an existing Resource. In this case, RV “3”'s URIchanges to a URI of Resource ID 3 and has that ID written to itsRendered View Data Attribute Set. Once the page of the URI displayed hasbeen determined to be that of a Resource, the RVDMS, ApplicationController 1041 and/or AMC, including AMC 1065, can retrieve the one ormore Visual Designators associated with the Resource ID and write thisVisual Designator as a Rendered View Data Attribute. In this example,the Visual Designator is VD X. Because RV “3” displays a Non-ArrayResource, RV “3” does not have Rendered View Data Attributes for relatedRendered Views or an AMC. RV “3”'s TNARV attribute gets removed becauseRV “3” no longer meets the TNARV criteria of the AMCs. However, RV “15”,still displaying www.bing.com, remains a TNARV and as a TNARV maybetargeted by an AMC during an Array Generation Process. The followingfigure, FIG. 19, assumes an Array Generation Process is initiated forAMC XY 1065.

FIG. 19: Frequently, and as assumed in this example, Arrays may begenerated from an Application UI in a displayed Resource Page. TheRendered View of a Resource Page and Application UI from which an ArrayGeneration Event and AGM is initiated may be specified in the AGM as oneto be included in the Array to be created, managed, and whose behaviormay be governed by the AMC; the latter is assumed in this example aswell and, thus, the AMC XY 1065 writes its ID, AMC ID XY, as a RenderedView Data Attribute of RV “3”, acknowledging that RV “3” is one of theRendered Views AMC XY 1065 will manage and govern during the lifecycleof the Array it will manage. AMC XY 1065 may also retrieve RV “3”'sResource ID, Resource ID 3, and Visual Designator, VD X. This exampleassumes that the Resources associated with VD Y are associated to theResources associated with VD X (this relationship is the same as thatbetween Resources associated with Focus (VD X) and Resources associatedwith Context (VD Y) as discussed in the “Education” example usedthroughout this disclosure). Therefore, upon receiving Resource ID 3,the AMC XY 1065 can understand that it will need to retrieve theResource ID and Visual Designator for a Resource associated withResource 3. The AMC XY 1065 may first retrieve the Resource ID of one ofResource 3's related Resources by querying the Resource Data Set 1026which contains this information for Resource 3. Once this Resource ID isreceived the AMC XY 1065 can then retrieve the Visual Designator fromthe latter Resource ID's Resource Data in the Resource Data Set 1026.This example assumes the Resource ID is Resource ID 5 and its VisualDesignator is Y. Upon receiving the information defining what Resourceand Visual Designator the AMC XY 1065 will need to complete its Array,the AMC XY may query the Rendered View Data Set 1075 a to determinewhether a TNARV (either a Non-Array Rendered View exists displayingResource ID 5 or www.google.com or www.bing.com) exists that it can useas the second Rendered View of its Array to avoid needlessly generatinga new Rendered View and/or tab, and browser window. In this case, such aquery identifies RV “15” as a TNARV and returns that information to theAMC XY 1065. The Application Controller 1041 and/or AMC XY 1065 may thenaffect the process to change RV “15”'s displayed page to that of thepage of the URI of Resource 5 and incorporate RV “15” into the Arraycontaining RV “3”, ultimately writing to RV “15”'s Rendered View DataAttributes the AMC XY's ID, AMC ID XY. In addition, in order todifferentiate the Array containing RV “3” and “15” from another AMC XYArray (such as that containing RV “5” and “8”), the AMC XY 1065 can alsowrite to RV “3”'s Rendered View Data Attribute Set that it is related toRV “15” and to RV “15”'s Rendered View Data Attribute Set that it isrelated to RV “3”.

The Rendered View Data Attribute Sets for RV “3” and “15” in this figurereflect that the Array Generation Process has completed for RV “3” andRV “15”. For the next figure it is important to note that in this figureRV “4” displays the Resource Page of a URI of Resource ID 4 which isassociated with VD X, that RV “16” displays the Resource Page of a URIof Resource ID 6 which is associated with VD Y, and neither RV “4” nor“16” have been assigned a TNARV attribute.

FIG. 20: This figure assumes that some time after the Array GenerationProcess has been completed for RV “3” and “15”, an Array ResponsiveAction Process is initiated for the Array by affecting a NavigationProcess or other navigation process in RV “3” from the Resource Page ofa URI of Resource ID 3 to the Resource Page of a URI of Resource ID 4.Because, in this example, the Resources in the Array associated with VDY are associated with a specific Resource in the Array associated withVD X, the navigation from a URI of Resource ID 3 to that of a URI ofResource ID 4 affects a responsive Navigation Process or othernavigation process in RV “15” from the URI of Resource ID 5 which isassociated specifically to Resource ID 3 to that of a URI of Resource ID6 which is associated specifically to Resource ID 4. As the events occurthat generate data elements constituting the Rendered View DataAttributes for the Rendered View Data Attribute Sets for RV “3” and RV“15”, each may be written to the Rendered View Data Set, updating theRendered View Data Set to reflect the current state of each RenderedView, its displayed Resource, and the relationship of both to the Arrayof which they are a part.

The Rendered View Data for RV “3” and “15” in FIG. 20 reflects that theArray Responsive Action Process has completed for RV “3” and RV “15”.This figure also shows RV “4” and “16” both now have become TNARV. Thereason for the latter being that each Rendered View now displays aNon-Array Resource that is the same as an Array Resource; RV “4”displays a Resource Page of the URI of Resource ID 4 which, for thisexample, is the same Resource Page of the URI of Resource ID 4 displayedin RV “3”; RV “16” displays a Resource Page of the URI of Resource ID 6which, for this example, is the same Resource Page of the URI ofResource ID 6 displayed in RV “15”.

FIG. 21: This figure shows RV “15” has been deleted and replaced in theArray governing RV “3” with RV “16”, formerly a TNARV. RV “3” nowreflects that it is related to RV “16” and RV “16” reflects that it isnow related to RV “3”.

As described, during one or more variants of both the Array GenerationProcess and Array Responsive Action Process a RVDMS in coordination withone or more AMCs can track and manage the Rendered Views of one or moreArrays of one or more Array Types while reducing 1) the number ofRendered Views, tabs, and browser windows open and displayed in aDisplay Device 1010 at a given time; 2) the processing burden on theLocal Computing Device 1002; and 3) instances of code used for one ormore variants of the Array Generation Process and Array ResponsiveAction Process and thus, the burden on initial development andsubsequent maintenance of the code base. As noted, the RSPP may includeprocesses similar to the Array Generation Process and Array ResponsiveAction Process in which a Visual Designator may be the PCPs of a Paneitself. Also as noted, in such a case, a component, similar in functionto an AMC, may utilize a Visual Designator, or the immediate associationbetween a Resource and a Pane, directly to affect the intendedpositioning of a Resource to a Pane of the Canvas Area 1031 of BrowserWindow 1013. During the processes similar to the Array GenerationProcess and Array Responsive Action Process in which a Visual Designatormay be the PCPs of a Pane itself, this component, in coordination with aRVDMS variant similar to the example RVDMS described in FIGS. 17-21, maytrack and manage the Rendered Views of one or more groups of Resources.

FIGS. 22 and 23 illustrate a “General” example based on system 1000components of the messaging processes for variants of the NavigationProcess, Array Generation Process, and Array Responsive Action Processthat include the use of the Browser-bound AUI 1020. While following the“General” example, as indicated by the AMC XY 1064 shown in each figure,the figures illustrate and label many other components, sub-components,and data elements in a more conceptual way in order to represent (withinthe confines of a reasonably sized figure) the wide variety of Arrays,Array Types and Behavior, and responsive actions that may beincorporated in the messaging processes described below using system1000. The labeling system is mostly the same as that described inFIG. 1. The subscript “1” will represent the first instance of acomponent, sub-component, or data element; the subscript “i” willrepresent one or more additional instances of the same. However, becauseeach AMC may fulfill a different function, the concept of an “i” numberof AMCs is represented slightly differently. In keeping with the“General” example, AMC XY 1064 embodies the first instance of an AMC;AMC i represents an “i” number of additional AMCs, each of which may beunique and create, manage, and govern the behavior of one or more Arraysof a unique Array Type.

In this example, the Browser-bound AUI 1020 is shown directlyincorporated into the Browser Window 1012 of Display Device 1010 ratherthan in the Resource Page 1016 displayed in Browser Window 1012. Thepositioning of the Browser-bound AUI 1020 in the top-right corner of theBrowser Window 1012, thus overlapping what would otherwise be thetop-right corner of Resource Page 1016 area, is merely for the sake ofexample and other implementations, positioning, sizing, configurations,etc. are possible. For example, with slight modification of system 1000components, the AUI represented in these figures as a Browser-bound AUI1020 could be made to display and behave as a Page-bound AUI 1022 or1024.

The Browser-bound AUI 1020 may take several forms, including the DynamicNavigation UI and Resource Formation UI. In this example, two elementsthat may be part of a DNUI, the Navigation Specific UI Element 1096 andthe Array Generation Specific UI Element 1098 (generally, an ArrayGeneration Specific UI Element is an AUI element the selection of whichmay trigger an event initiating an Array Generation Process), are shownin the Browser-bound AUI 1020 and their communication with othercomponents of system 1000 are described in detail. While the UI elementsare often part of the DNUI, the method of communication between these orother similar elements in other AUIs and the Application may utilize thesame system components and many of the same processes described herein.For this reason and that these other AUIs are not an essential part ofthe Navigation Process, Array Generation Process, and Array ResponsiveAction Process described herein, the description only includes the twoAUI elements mentioned above in the example Browser-bound AUI 1020 andits inclusion in the messaging processes for the Navigation Process,Array Generation Process, and Array Responsive Action Process.

Because it offers a simplified view focusing on the elements often partof the Navigation Process, it may be useful to refer to just FIG. 22 forthe following paragraph. Once a Resource Page 1016 ₁ has been recognizedas part of a Resource Set, the Browser-bound AUI 1020 ₁, in the form ofthe Browser-bound DNUI 1020 a ₁, may serve as both the starting andending point of the Navigation Process. The start of the process maybegin with the explicit representation on the Browser-bound DNUI 1020 a₁ of the current Resource Page's 1016 ₁ place within the scope andsequence of the Resource Set of which the Resource Page is a part.Navigation Specific UI Elements 1096 ₁ on the Browser-bound DNUI 1020 a₁, such as a directional arrows or buttons indicating the sequence suchas “Next” and “Previous”, are displayed in order to provide the meanswith which one or more Resources in the Resource Set can be accessedaccording to the Resource Set's creator's intended scope and sequence.One possible example of such a Navigation Specific UI Element 1096 isshown. In this example the “X” represents the displayed Resource's orderwithin the numbered scope of the Resource Set of which the Resource is apart. For example, if the displayed Resource is the third resourcewithin a Resource Set of five Resources, the “X” will be “3” and the “Y”will be “5”. The arrows to the right of “X” and “Y” allow the user toaccess a next Resource with the Resource Set in a single click; thiselement can be displayed in the same place for each Resource and thusserve as a single point of selection to navigate sequentially, forwardsor backwards, through the entire scope of the Resource Set. Uponselection of the Navigation Specific UI Element 1096 ₁ the AUIController 1042 a receives an indication of the event. The AUIController 1042 a then messages the Application Controller's 1040 aEvent X Handler 1100 (Navigate Handler) through the Event Broker 1102indicating a target Resource that the Browser should display based onthe selection of the Navigation Specific UI Element 1096 ₁. Generally,an Event X Handler may be one or more handlers the functions of whichinclude receiving an Event X Message to continue one or more processesinitiated by the Event X Message. Generally, an Event X Message is oneor more messages published to initiate a sub-process of the RSPP. “X”represents the concept that there are many different Event Handlers andMessages, each supporting a different function. An Event X Handler maybe a Navigate Handler. A Navigate Handler may be one or more handlersthat receives the Navigate Message (described in detail below) tocontinue the Navigation Process. There may be more specific kinds ofNavigate Handlers that may affect a specific kind of navigation. Forexample, to affect a navigation from a single Resource to another withinthe same Resource Set, a Navigate to Resource Message may be publishedfor receipt by a Navigate to Resource Handler; to affect a navigationfrom a Resource Set to a different Resource Set, a Navigate to ResourceSet Message may be published for receipt by a Navigate to Resource SetHandler. The Event Broker 1102 may represent the Browser Application1032 messaging API. Upon receiving an indication of the message (aNavigate Message), the Application Controller 1040 a changes documentURI to that of the target Resource's Resource Page 1016 ₁ intended fordisplay in the target tab. A Navigate Message may be one or moremessages 1) published upon selection of a Navigation Specific UI Elementand/or initiating the Navigation Process; and 2) containing theinformation indicating the Resource and/or Resource Set to which theBrowser Application should navigate and, if needed, the Rendered View orRendered Views and/or tab or tabs in which to affect the navigation.There may be more specific kinds of Navigate Messages that may affect aspecific kind of navigation. For example, to affect a navigation from asingle Resource to another within the same Resource Set, a Navigate toResource Message may used; to affect a navigation from a Resource Set toa different Resource Set, a Navigate to Resource Set Message may used.The Application Controller 1040 a retrieves from the Resource Data Set1026 the Resource Data sufficient to display the intended Resource. TheApplication Controller 1040 a sends the Dynamic Navigation UI View Stateand Resource Data Message to the AUI Controller 1042a through the EventBroker ultimately resulting in the display of the target Resource'sResource Page 1016 ₁ alongside its Browser-bound DNUI 1020 a ₁. Theprocess can begin again with the selection of the Navigation Specific UIElement 1096 ₁.

Once one or more Resources of a Resource Set have been associated with aPane of a Pane Layout by virtue of a common Visual Designator, theBrowser-bound AUI 1020, frequently the Browser-bound DNUI 1020 a, mayserve as the starting point of the Array Generation Process. As notedabove, while the Array Generation Specific UI Element 1098 ₁ shown inthis figure may be placed on other Browser-bound AUI, on those otherAUIs the element would still use the same system components and methodsof communication as shown and described below. Also as noted above, theArray Generation Process may be initiated without the Browser-bound AUI1020 at all. However, because the Browser-bound AUI 1020 may be used andhelps provide a useful visual representation of the first several stepsof an Array Generation Process, the Browser-bound AUI 1020 has beenincluded in the figure and description below.

The Array Generation Specific UI Element 1098 ₁ on the Browser-bound AUI1020 ₁, to be utilized in an Array Generation Process initiated by ArrayGeneration Event (AGE) triggered upon selection of the Array GenerationSpecific UI Element 1098 ₁, is displayed on the AUI in order to providethe means by which an AGE may be triggered and an Array GenerationProcess initiated. As shown, it may be useful for the Array GenerationSpecific UI Element 1098 ₁ to reflect something about the Array Type ofthe Array in which its selection would result; as such VD₁, a firstVisual Designator, is shown in a box representing a first Pane; VD_(i),one or more additional Visual Designators, is shown in a boxrepresenting one or more additional Panes. Upon selection of the ArrayGeneration Specific UI Element 1098 ₁ the AUI Controller 1042 a receivesan indication of the event. The AUI Controller 1042 a then sends an AGMthrough the Event Broker 1102 to its target AMC and possibly othercomponents of the Application Controller 1040 a. In FIGS. 22 and 23, twoblocks with “AMC” are shown: one with AMC XY 1064 and the other with AMCi 1104. AMC XY 1064 is a first instance of an AMC in the ApplicationController and AMC i 1104 is any number of remaining AMCs an ApplicationController may contain. AMC XY 1064 may be thought of as the target AMCfor the AGM discussed. Each target AMC may listen for one or more uniqueAGMs prompted by an AGE intended to initiate an Array Generation Processthat will generate an Array Type of the target AMC. The AGM conveys theinformation to the AMC to continue the Array Generation Process. The AGMmay contain all, some, or none of the Resource ID and/or Tab DataAttributes for an AMC to carry out its Array generation and managementfunction; these attributes may include the Resource ID and Tab ID of theResource Page and Tab in which the AGM triggering Array GenerationSpecific UI Element 1098 ₁ is displayed.

Because it offers a view focusing on additional elements for the ArrayGeneration Process and Array Responsive Action Process, it may be usefulto refer to FIG. 23 for the following two paragraphs. In an exampleimplementation of the messaging processes of FIG. 23 the Event Brokermay be used to broker messages between components (such as between theAUI Controller 1042 a and Application Controller 1040 a) even if notexpressly described in the process below. Upon receiving an indicationof the AGM, the AMC XY 1064 responds, and retrieves and/or recognizesthe Resource Data (from the Resource Data Set 1026), Visual Designatorsand PCPs. In some variants of the Array Generation Process, the AMC XYmay maintain a Tab Data Set 1074 by use of a TDMS, as described herein.To maintain the Tab Data Set 1074, the AMC XY may listen for Tab andBrowser Window Events. The AMC XY can then “match” each Resource to oneor more Panes by virtue of the Resource's and Pane's one or more commonVisual Designators to display each Resource intended for display in theArray. The Application Controller 1040 a and/or AMC XY 1064 causes eachArray Resource to be displayed in a Tab 1014 of a Browser Window 1012.To do so, the Application Controller 1040 a and/or AMC XY 1064 may causeone or more new Tabs 1014; and Browser Windows 1012 _(i) to be generatedand display an Array Resource in order to fill the intended Array; thismay happen in a variety of ways including with the use of a TDMS.Finally, the AMC XY 1064 positions and sizes the Array Browser Window tothe Pane with which the Resource is associated by a common VisualDesignator. The AMC XY 1064 may affect these actions directly on the Taband Browser Window as indicated by the directional arrow fromApplication Controller 1040 a to each Browser Window 1012 and Tab 1014;alternatively the Application Controller 1040 a may do so indirectlythrough the Event Broker 1102. The AMC XY 1064 can detach an Array Tabfrom a Browser Window if warranted by the same methods. Ultimately, theArray Generation Process using the system components described mayresult in the display of a first Resource of a Resource Set in a Tab1014 ₁ of a Browser Window 1012 ₁ positioned over a first Pane by virtueof one or more Visual Designators, VD₁, shared between the firstResource and first Pane and the display of some number of otherResources, each of the same Resource Set and in a Tab 1014 _(i) of aBrowser Window 1012 _(i) positioned over an additional Pane by virtue ofone or more Visual Designators, VD_(i), shared between each additionalResource and each additional Pane.

Continuing with reference to FIG. 23, an Array Responsive Action Processmay be initiated by the selection of one of many Browser-bound AUIelements. In many cases an Array Responsive Action Process's responsiveaction will be that of navigation. In those cases an Array ResponsiveAction Process may be initiated from an element, including theNavigation Specific UI Element 1096, on either Browser-bound UI shown inFIG. 23. Regardless of the element, selection of the Browser-bound UIelement may trigger an Event X, in this case a Navigation Process, forthe Tab in which the element was selected. The Navigation Process forthis Tab may be carried through to completion. However, when an Arrayexists, its AMC XY 1064 may listen for events of different actions,including navigation actions, occurring for its Array Resources. Uponreceiving an indication such an action has occurred in one ArrayResource, the AMC XY 1064 may respond by affecting one or more ofactions in one or more of the other Array Resources, Tabs, and/orBrowser Windows. In this example implementation, a Navigation Processinitiated in a Browser-bound AUI 1020 ₁ for the Resource Page 1016 ₁ maycarry through to completion in Tab 1014 ₁. The same Navigate Messagepublished by the AUI Controller 1042 a received, through the EventBroker 1102 by the Application Controller's Navigate Handler (shown asthe Event X Handler 1100) for the initial Navigation Process may also bereceived by the AMC XY 1064, specifically the AMC XY's Navigate AMH(shown as the Event X AMH 1106) (generally, a Navigate AMH is an Event XAMH responsible for listening for and responding to one or more NavigateMessages). The AMC XY may respond by publishing a Navigate Message forone or more of its Array Resources in an Array Tab 1014 _(i) in an ArrayBrowser Window 1012 _(i). This Navigate Message would follow the samecourse through the Event Broker 1102 to the Navigate Handler (shown asthe Event X Handler 1100) as part of a new Navigation Process. Uponreceipt of the Navigate Message, the Navigate Handler would continue theNavigation Process to completion for each of the Array Tabs 1014 _(i).These figures are provided for the sake of clarity and do not imply thatthe functional components and their respective functions must exist as asingle logical structure or in the locations and components shown inthese diagrams. In other implementations of the Array Responsive ActionProcess, other processes, including other navigation processes, may usedin place of the Navigation Process to affect the first navigation andsubsequent responsive navigations.

FIGS. 24 and 25 show an example of how, with slight modification, theconfiguration, components, and messaging system shown following the“General” example of system 1000 in FIGS. 22 and 23 may conform to thoseof system 1001. The primary difference between the two configurations,components, and messaging systems is the layer necessary to manage oneor more Rendered Views 1017 simultaneously displayed within a singleBrowser Window as shown in FIGS. 24 and 25. As represented by the singledirectional arrow from Rendered View 1017 to the Event Broker 1103 theRendered View 1017 may pass Rendered View Events through Event Broker1103 to the Application Controller 1041 a. However, the Rendered ViewEvent messages may also be passed from the Rendered View 1017 to theApplication Controller 1041 a through the Application UI Controller 1043a before the Event Broker 1103. Other communication between eachRendered View 1017, its associated Resource Page 1016, and Resource Page1016's associated AUI with the Application Controller 1041 a may gothrough the Application UI Controller 1043 a. As noted in thedescription herein, the Application UI Controller 1042 and 1043 mayexist in multiple instances. These figures are provided for the sake ofclarity and do not imply that the functional components and theirrespective functions must exist as a single logical structure or in thelocations and components shown in these diagrams.

FIGS. 26 and 27 are diagrams illustrating a “General” example of themessaging processes for variants of the Navigation Process, ArrayGeneration Process, and Array Responsive Action Process that include theuse of a Page-bound AUI 1022. While following the “General” example, asindicated by the AMC XY 1064 shown in each figure, the figuresillustrate and label many other components, sub-components, and dataelements in a more conceptual way in order to represent (within theconfines of a reasonably sized figure) the wide variety of Arrays, ArrayTypes and Behavior, and responsive actions that may be incorporated inthe messaging processes described below using system 1000. The labelingsystem is mostly same as that described in FIG. 1. The subscript “1”will represent the first instance of a component, sub-component, or dataelement; the subscript “i” will represent one or more additionalinstances of the same. However, because each AMC may fulfill a differentfunction, the concept of an “i” number of AMCs is represented slightlydifferently. In keeping with the “General” example, AMC XY embodies thefirst instance of an AMC; AMC i represents an “i” number of additionalAMCs, each of which may be unique and create, manage, and govern thebehavior of one or more Arrays of a unique Array Type.

In this example, the Page-Bound AUI 1022 is shown directly incorporatedinto the Resource Page 1016 displayed in Browser Window 1012 of DisplayDevice 1010. The positioning of the Page-Bound AUI 1022 in the top-rightcorner of the Resource Page 1016 is merely for the sake of example andother implementations, positioning, sizing, configurations, etc. arepossible. For example, the Page-Bound AUI 1022 can be made movable, sothat it can be moved to any location on the Resource Page 1016. Theprocess and arrangement of functional components desirable to use thePage-Bound AUI 1022 in the Navigation Process, Array Generation Process,and Array Responsive Action Process are much the same as those desirableto use the Browser-bound AUI 1020 in the Navigation Process, ArrayGeneration Process, and Array Responsive Action Process. However, asshown in the diagram, the AUI Controller is embodied by and inserteddirectly into the Resource Page 1016 as Content Script Single 1108. As aresult, the Content Script Single 1108 may be inserted into eachResource Page of a Resource Set when the Resource Page is initiallyrendered.

The Page-bound AUI may take several forms, including the DynamicNavigation UI and Resource Formation UI. In this example, two specificelements that may be part of a DNUI, the Navigation Specific UI Element1096 and the Array Generation Specific UI Element 1098, are shown in thePage-Bound AUI 1022 and their communication with other components ofsystem 1000 are described in detail. While the UI elements are oftenpart of the DNUI, the method of communication between these or othersimilar elements in other AUIs and the Application may utilize the samesystem components and many of the same processes described herein. Forthis reason and that these other AUIs are not an essential part of theNavigation Process, Array Generation Process, and Array ResponsiveAction Process described herein, the description only includes the twoAUI elements mentioned above in the example Page-Bound AUI 1022 and itsinclusion in the messaging processes for the Navigation Process, ArrayGeneration Process, and Array Responsive Action Process.

Because it offers a simplified view focusing on the elements often partof the Navigation Process, it may be useful to refer to just FIG. 26 forthe following paragraph. Once a Resource Page 1016 ₁ has been recognizedas part of a Resource Set, the Page-Bound AUI 1022 ₁, in the form of thePage-bound DNUI 1022 a ₁, may serve as both the starting and endingpoint of the Navigation Process. The start of the process may begin withthe explicit representation on the Page-Bound DNUI 1022 a ₁ of thecurrent Resource Page's 1016 ₁ place within the scope and sequence ofthe Resource Set of which the Resource Page is a part. NavigationSpecific UI Elements on the Page-Bound DNUI 1022 a _(i), such as adirectional arrows or buttons indicating the sequence such as “Next” and“Previous”, are displayed in order to provide the means with which oneor more Resources in the Resource Set can be accessed according to theResource Set's creator's intended scope and sequence. One possibleexample of such a Navigation Specific UI Element 1096 is shown in FIG.26. In this example the “X” represents the displayed Resource's orderwithin the numbered scope of the Resource Set of which the Resource Setis a part. For example, if the displayed Resource is the third resourcewithin a Resource Set of five Resources, the “X” will be “3” and the “Y”will be “5”. The arrows to the right of “X” and “Y” allow the user toaccess a next Resource with the Resource Set in a single click; thiselement can be displayed in the same place for each Resource and thusserve as a single point of selection to navigate sequentially, forwardsor backwards, through the entire scope of the Resource Set. Uponselection of the Navigation Specific UI Element 1096 ₁ the ContentScript Single 1108 ₁ receives an indication of the event. The ContentScript Single 1108 ₁ then messages the Background Page's 1050 a NavigateHandler (shown as the Event X Handler 1100) through the Event Broker1102 indicating a target Resource to which the Browser should navigatebased on the selection of the Navigation Specific UI Element 1096 ₁. TheEvent Broker 1102 may represent the Browser Application 1032 messagingAPI. Upon receiving an indication of the message (Navigate Message), theBackground Page 1050 a changes the document URI to that of the targetResource's Resource Page 1016 ₁ intended for display in the target tab.The Background Page 1050 a retrieves from the Resource Data Set 1026 theResource Data to display the intended Resource. The Browser Application1032 injects a Content Script Single 1108 ₁ into the Resource Page 1016₁. The Background Page 1050 a also sends the Dynamic Navigation UI ViewState and Resource Data Message to the Content Script Single 1108 ₁through the Event Broker ultimately resulting in the display of thetarget Resource's Resource Page 1016 ₁ with its Page-Bound DNUI 1022 a₁. The process can begin again with the selection of the NavigationSpecific UI Element 1096 ₁.

Once one or more Resources of a Resource Set have been associated with aPane of a Pane Layout by virtue of a common Visual Designator, thePage-Bound AUI 1022, frequently the Page-bound DNUI 1022 a, may serve asthe starting point of the Array Generation Process. As noted above,while the Array Generation Specific UI Element 1098 ₁ shown in thisfigure may be placed on other Page-bound AUIs, on those other AUIs theelement may still use the same system components and methods ofcommunication as shown and described below. Also as noted above, theArray Generation Process may be initiated without using a Page-Bound AUI1022. However, because the Page-Bound AUI 1022 may be used and helpsprovide a useful visual representation of the first several steps of theArray Generation Process, the Page-Bound AUI 1022 has been included inthe figure and description below.

The Array Generation Specific UI Element 1098 ₁ on the Page-Bound AUI1022 ₁, to be utilized in an Array Generation Process initiated by ArrayGeneration Event (AGE) triggered upon selection of the Array GenerationSpecific UI Element 1098 ₁, is displayed on the AUI in order to providethe means by which an AGE can be triggered and an Array GenerationProcess initiated. As shown, it may be useful for the Array GenerationSpecific UI Element 1098 ₁ to reflect something about the Array Type ofthe Array in which its selection would result; as such VD₁, a firstVisual Designator, is shown in a box representing a first Pane; VD_(i),one or more additional Visual Designators, is shown in a boxrepresenting one or more additional Panes. Upon selection of the ArrayGeneration Specific UI Element 1098 ₁ the Content Script Single 1108 ₁receives an indication of the event. The Content Script Single 1108 ₁then sends an AGM through the Event Broker 1102 to its target AMC andpossibly other components of the Background Page 1050 a. In FIGS. 26 and27, two blocks with “AMC” are shown: one with AMC XY 1064 and the otherwith AMC i. AMC XY is a first instance of an AMC in the Background Page1050 a and AMC i is any number of remaining AMCs a Background Page 1050a may contain. AMC XY may be thought of as the target AMC for the AGMdiscussed. Each target AMC may listen for one or more unique AGMsprompted by an AGE intended to initiate an Array Generation Process thatwill generate an Array Type of the target AMC. The AGM conveys theinformation to the AMC to continue the Array Generation Process. The AGMmay contain all, some, or none of the Resource ID and/or Tab DataAttributes for the AMC to carry out its Array generation and managementfunction; these attributes include the Resource ID and Tab ID of theResource Page and Tab in which the AGM triggering Array GenerationSpecific UI Element 1098 ₁ is displayed.

Because it offers a view focusing on additional elements for the ArrayGeneration Process and Array Responsive Action Process, it may be usefulto refer to FIG. 27 for the following two paragraphs. In an exampleimplementation of the messaging processes of FIG. 27 the Event Brokermay be used to broker messages between components (such as between theContent Script Single 1108 and Background Page 1050 a) even if notexpressly described in the process below. Upon receiving an indicationof the AGM, the AMC XY 1064 responds, and retrieves and/or recognizesthe Resource Data (from the Resource Data Set 1026), Visual Designatorsand PCPs. In some variants of the Array Generation Process, the AMC XYmay maintain a Tab Data Set 1074 by use of a Tab Data Management System,described herein. To maintain the Tab Data Set 1074, the AMC XY maylisten for Tab and Browser Window Events. The AMC XY 1064 can then“match” each Resource to one or more Panes by virtue of the Resource'sand Pane's one or more common Visual Designators to display eachResource intended for display in the Array. The Background Page 1050 aand/or AMC XY 1064 causes each Array Resource to be displayed in a Tab1014 of a Browser Window 1012. To do so, the Background Page 1050 aand/or AMC XY 1064 may cause one or more new Tabs 1014 _(i) and BrowserWindows 1012 _(i) to be generated and display an Array Resource in orderto fill the intended Array. As described herein, this may happen in avariety of ways including with the use of a TDMS. Finally, the AMC XY1064 positions and sizes the Array Browser Window to the Pane with whichthe Resource is associated by a common Visual Designator. The AMC XY1064 may affect these actions directly on the Tab and Browser Window asindicated by the directional arrow from Background Page 1050 a to eachBrowser Window 1012 and Tab 1014; alternatively the Background Page 1050a may do so indirectly through the Event Broker 1102. The AMC XY 1064can detach an Array Tab from a Browser Window if warranted by the samemethod. Ultimately, the Array Generation Process using the systemcomponents described may result in the display of a first Resource of aResource Set in a Tab 1014 ₁ of a Browser Window 1012 ₁ positioned overa first Pane by virtue of one or more Visual Designators, VD₁, sharedbetween the first Resource and first Pane and the display of some numberof other Resources, each of the same Resource Set and in a Tab 1014 _(i)of a Browser Window 1012 _(i) positioned over an additional Pane byvirtue of one or more Visual Designators, VD_(i), shared between eachadditional Resource and each additional Pane.

Continuing with reference to FIG. 27, an Array Responsive Action Processmay be initiated by the selection of one of many Page-bound AUIelements. In many cases an Array Responsive Action Process's responsiveaction will be that of navigation. In those cases an Array ResponsiveAction Process may be initiated from an element, including theNavigation Specific UI Element 1096, on either Page-bound AUI shown inFIG. 27. Regardless of the element, selection of the Page-bound AUIelement may trigger an Event X, in this case a Navigation Process, forthe Tab in which the element was selected. The Navigation Process forthis Tab may be carried through to completion. However, when an Arrayexists, its AMC XY 1064 may listen for events of different actions,including navigation actions, occurring for its Array Resources. Uponreceiving an indication such an action has occurred in one ArrayResource, the AMC XY 1064 may respond by affecting one or more ofactions in one or more of the other Array Resources, Tabs, and/orBrowser Windows. In this example implementation, a Navigation Processinitiated in a Page-bound AUI 1022 ₁ for the Resource Page 1016 ₁ maycarry through to completion in Tab 1014 ₁. The same Navigate Messagepublished by the Content Script Single 1108 ₁ and received, through theEvent Broker 1102, by the Background Page's Navigate Handler (shown asthe Event X Handler 1100) for the initial Navigation Process also may bereceived by the AMC XY 1064, specifically the AMC XY's Navigate AMH,(shown as the Event X AMH 1106). The AMC XY may respond by publishing aNavigate Message for one or more of its Array Resources in an Array Tab1014 _(i) in an Array Browser Window 1012 _(i). This Navigate Messagewould follow the same course through the Event Broker 1102 to theNavigate Handler (shown as the Event X Handler 1100) as part of a newNavigation Process. Upon receipt of the Navigate Message, the NavigateHandler would continue the Navigation Process to completion for each ofthe Array Tabs 1014 _(i). These figures are provided for the sake ofclarity and do not imply that the functional components and theirrespective functions must exist as a single logical structure or in thelocations and components shown in these diagrams. In otherimplementations of the Array Responsive Action Process, other processes,including other navigation processes, may used in place of theNavigation Process to affect the first navigation and subsequentresponsive navigations.

FIGS. 28 and 29 are diagrams illustrating a “General” example of themessaging processes for variants of the Navigation Process, ArrayGeneration Process, and Array Responsive Action Process that include theuse of a Page-bound AUI 1024. While following the “General” example, asindicated by the AMC XY 1064 shown in each figure, the figuresillustrate and label many other components, sub-components, and dataelements in a more conceptual way in order to represent (within theconfines of a reasonably sized figure) the wide variety of Arrays, ArrayTypes and Behavior, and responsive actions that may be incorporated inthe messaging processes described below using system 1000. The labelingsystem is mostly same as that described in FIG. 1. The subscript “1”will represent the first instance of a component, sub-component, or dataelement; the subscript “i” will represent one or more additionalinstances of the same. However, because each AMC may fulfill a differentfunction, the concept of an “i” number of AMCs is represented slightlydifferently. In keeping with the “General” example, AMC XY embodies thefirst instance of an AMC; AMC i represents an “i” number of additionalAMCs, each of which may be unique and create, manage, and govern thebehavior of one or more Arrays of a unique Array Type.

In this example, the Page-bound AUI 1024 is shown directly incorporatedinto the Resource Page 1016 displayed in Browser Window 1012 of DisplayDevice 1010. The positioning of the Page-bound AUI 1024 in the top-rightcorner of the Resource Page 1016 is merely for the sake of example andother implementations, positioning, sizing, configurations, etc. arepossible. For example, the Page-bound AUI 1024 can be made movable, sothat it can be moved to any location on the Resource Page 1016. Theprocess and arrangement of functional components desirable to use thePage-bound AUI 1024 in the Navigation Process, Array Generation Process,and Array Responsive Action Process are much the same as those desirableto use the Browser-bound AUI 1020 in the Navigation Process, ArrayGeneration Process, and Array Responsive Action Process. However, asshown in the diagram, the AUI Controller functions are carried out byContent Script Initial 1110, a content script that has been insertedinto Resource Page 1016 and Content Script UI 1112, a content scriptthat has been encapsulated in an IFrame added by Contents Script Initial1110 that has been inserted into Resource Page 1016. As a result, theContent Script UI 1112 and Content Script Initial 1110 may be insertedinto each Resource Page of a Resource Set when the Resource Page isinitially rendered.

The Page-bound AUI may take several forms, including the DynamicNavigation UI and Resource Formation UI. In this example, two specificelements often part of a DNUI, the Navigation Specific UI Element 1096and the Array Generation Specific UI Element 1098, are shown in thePage-bound AUI 1024 and their communication with other components ofsystem 1000 are described in detail. While the UI elements are oftenpart of the DNUI, the method of communication between these or othersimilar elements in other AUIs and the Application may utilize the samesystem components and many of the same processes described herein. Forthis reason and that these other AUIs are not an essential part of theNavigation Process, Array Generation Process, and Array ResponsiveAction Process described herein, the description only includes the twoAUI elements mentioned above in the example Page-bound AUI 1024 and itsinclusion in the messaging processes for the Navigation Process, ArrayGeneration Process, and Array Responsive Action Process.

Because it offers a simplified view focusing on the elements for theNavigation Process, it may be useful to refer to just FIG. 28 for thefollowing paragraph. Once a Resource Page 1016 ₁ has been recognized aspart of a Resource Set, the Page-bound AUI 1024 ₁, in the form of thePage-bound DNUI 1024 a ₁, may serve as both the starting and endingpoint of the Resource Set Navigation Process. The start of the processmay begin with the explicit representation on the Page-bound DNUI of thecurrent Resource Page's 1016 ₁ place within the scope and sequence ofthe Resource Set of which the Resource Page is a part. NavigationSpecific UI Elements on the Page-bound DNUI, such as a directionalarrows or buttons indicating the sequence such as “Next” and “Previous”,are displayed in order to provide the means with which one or moreResources in the Resource Set can be accessed according to the ResourceSet's creator's intended scope and sequence. One possible example ofsuch a Navigation Specific UI Element 1096 is shown in FIG. 28. In thisexample the “X” represents the displayed Resource's order within thenumbered scope of the Resource Set of which the Resource Set is a part.For example, if the displayed Resource is the third resource within aResource Set of five Resources, the “X” will be “3” and the “Y” will be“5”. The arrows to the right of “X” and “Y” allow the user to access anext Resource with the Resource Set in a single click; this element canbe displayed in the same place for each Resource and thus serve as asingle point of selection to navigate sequentially, forwards orbackwards, through the entire scope of the Resource Set. Upon selectionof the Navigation Specific UI Element 1096 ₁ the Content Script UI 1112₁ receives an indication of the event. The Content Script UI 1112 ₁ thenmessages the Background Page's 1050 b Navigate Handler (shown as theEvent X Handler 1100) through the Event Broker 1102 indicating a targetResource to which the Browser should navigate based on the selection ofthe Navigation Specific UI Element 1096 ₁. The Event Broker 1102 mayrepresent the Browser Application 1032 messaging API. Upon receiving theindication of the message (a Navigate Message), the Background Page 1050b changes the document URI to that of the target Resource's ResourcePage intended for display in the target tab. The Background Page 1050 bretrieves from the Resource Data Set 1026 the Resource Data sufficientto display the intended Resource. The Browser Application 1032 injects aContent Script Initial 1110 ₁ into the Resource Page 1016 ₁. This actionresults in the addition of a Content Script UI 1112 ₁ encapsulated in anIFrame 1114 ₁ in the Resource Page 1016 ₁. The Background Page 1050 bpublishes the Dynamic Navigation UI View State and Resource DataMessage. The Content Script Initial 1110 ₁ and Content Script UI 1112 ₁receive the message, ultimately resulting in the display of the targetResource's Resource Page 1016 ₁ with its Page-bound DNUI 1024 a ₁. Theprocess can begin again with the selection of the Navigation Specific UIElement 1096 ₁.

Once one or more Resources of a Resource Set have been associated with aPane of a Pane Layout by virtue of a common Visual Designator, thePage-bound AUI 1024, frequently the Page-bound DNUI 1024 a, may serve asboth the starting point of the Array Generation Process. As noted above,while the Array Generation Specific UI Element 1098 ₁ shown in thisfigure may be placed on other Page-bound AUIs 1024, on those other MThthe element may still use the same system components and methods ofcommunication as shown and described below. Also as noted above, theArray Generation Process may be initiated without using a Page-bound AUI1024. However, because the Page-bound AUI 1024 may be used and helpsprovide a useful visual representation of the first several steps of theArray Generation Process, the Page-bound AUI 1024 has been included inthe figure and description below.

The Array Generation Specific UI Element 1098 ₁ on the Page-bound AUI1024 ₁, to be utilized in an Array Generation Process initiated by ArrayGeneration Event (AGE) triggered upon selection of the Array GenerationSpecific UI Element 1098 ₁, is displayed on the AUI in order to providethe means by which an AGE can be triggered and an Array GenerationProcess initiated. As shown, it may be useful for the Array GenerationSpecific UI Element 1098 ₁ to reflect something about the Array Type ofthe Array in which its selection would result; as such VD₁, a firstVisual Designator, is shown in a box representing a first Pane; VD_(i),one or more additional Visual Designators, is shown in a boxrepresenting one or more additional Panes. Upon selection of the ArrayGeneration Specific UI Element 1098 ₁ the Content Script UI 1112 ₁receives an indication of the event. The Content Script UI 1112 thensends an AGM through the Event Broker 1102 to its target AMC andpossibly other components of the Background Page 1050 b. In FIGS. 28 and29, two blocks with “AMC” are shown: one with AMC XY 1064 and the otherwith AMC i. AMC XY 1064 is a first instance of an AMC in the BackgroundPage 1050 b and AMC i is any number of remaining AMCs a Background Page1050 b may contain. AMC XY 1064 may be thought of as the target AMC forthe AGM discussed. Each target AMC may listen for one or more uniqueAGMs prompted by an AGE intended to initiate an Array Generation Processthat will generate an Array Type of the target AMC. The AGM conveys theinformation to the AMC to continue the Array Generation Process. The AGMmay contain all, some, or none of the Resource ID and/or Tab DataAttributes sufficient for the AMC to carry out its Array generation andmanagement function; these attributes include the Resource ID and Tab IDof the Resource Page and Tab in which the AGM triggering ArrayGeneration Specific UI Element 1098 ₁ is displayed.

Because it offers a view focusing on additional elements for the ArrayGeneration Process and Array Responsive Action Process, it may be usefulto refer to FIG. 29 for the following two paragraphs. In an exampleimplementation of the messaging processes of FIG. 29 the Event Brokermay be used to broker messages between components (such as between theContent Script Initial 1110, Content Script UI 1112 and Background Page1050 b) even if not expressly described in the process below. Uponreceiving an indication of the AGM, the AMC XY 1064 responds, andretrieves and/or recognizes the Resource Data (from the Resource DataSet 1026), Visual Designators and PCPs. In some variants of the ArrayGeneration Process, the AMC XY may maintain a Tab Data Set 1074 by useof a TDMS, described in detail herein. To maintain the Tab Data Set1074, the AMC XY may listen for Tab and Browser Window Events. The AMCXY 1064 can then “match” each Resource to one or more Panes by virtue ofthe Resource's and Pane's one or more common Visual Designators todisplay each Resource intended for display in the Array. The BackgroundPage 1050 b and/or AMC XY 1064 causes each Array Resource to bedisplayed in a Tab 1014 of a Browser Window 1012. To do so, theBackground Page 1050 b and/or AMC XY 1064 may cause one or more new Tabs1014 _(i) and Browser Windows 1012 _(i) to be generated and display anArray Resource in order to fill the intended Array. As described herein,this may happen in a variety of ways including with the use of a TDMS.Finally, the AMC XY 1064 positions and sizes the Array Browser Window tothe Pane with which the Resource is associated by a common VisualDesignator. The AMC XY 1064 may affect these actions directly on the Taband Browser Window as indicated by the directional arrow from BackgroundPage 1050 b to each Browser Window 1012 and Tab 1014; alternatively theBackground Page 1050 b may do so indirectly through the Event Broker1102. The AMC XY 1064 can detach an Array Tab from a Browser Window ifwarranted by the same method. Ultimately, the Array Generation Processusing the system components described may result in the display of afirst Resource of a Resource Set in a Tab 1014 ₁ of a Browser Window1012 ₁ positioned over a first Pane by virtue of one or more VisualDesignators, VD₁, shared between the first Resource and first Pane andthe display of some number of other Resources, each of the same ResourceSet and in a Tab 1014 _(i) of a Browser Window 1012 _(i) positioned overan additional Pane by virtue of one or more Visual Designators, VD_(i),shared between each additional Resource and each additional Pane.

Continuing with reference to FIG. 29, an Array Responsive Action Processmay be initiated by the selection of one of many Page-bound AUIelements. In many cases an Array Responsive Action Process's responsiveaction will be that of navigation. In those cases an Array ResponsiveAction Process may be initiated from an element, including theNavigation Specific UI Element 1096 ₁, on either Page-bound AUI shown inFIG. 29. Regardless of the element, selection of the Page-bound AUIelement may trigger an Event X, in this case a Navigation Process, forthe Tab in which the element was selected. The Navigation Process forthis Tab may be carried through to completion. However, when an Arrayexists, its AMC XY 1064 may listen for events of different actions,including navigation actions, occurring for its Array Resources. Uponreceiving an indication such an action has occurred in one ArrayResource, the AMC XY 1064 may respond by affecting one or more ofactions in one or more of the other Array Resources, Tabs, and/orBrowser Windows. In this example implementation, a Navigation Processinitiated in Page-bound AUI 1024 ₁ for the Resource Page 1016 ₁ maycarry through to completion in Tab 1014 ₁. The same Navigate Messagepublished by the Content Script UI 1112 received, through the EventBroker 1102, by the Background Page's Navigate Handler (shown as theEvent X Handler 1100) for the initial Navigation Process may also bereceived by the AMC XY 1064, specifically the AMC XY's Navigate AMH,(shown as the Event X AMH 1106). The AMC XY may respond by publishing aNavigate Message for one or more of its Array Resources in an Array Tab1014 _(i) in an Array Browser Window 1012 _(i). This Navigate Messagewould follow the same course through the Event Broker 1102 to theNavigate Handler (shown as the Event X Handler 1100) as part of a newNavigation Process. Upon receipt of the Navigate Message, the NavigateHandler would continue the Navigation Process to completion for each ofthe Array Tabs 1014 _(i). These figures are provided for the sake ofclarity and do not imply that the functional components and theirrespective functions must exist as a single logical structure or in thelocations and components shown in these diagrams. In otherimplementations of the Array Responsive Action Process, other processes,including other navigation processes, may used in place of theNavigation Process to affect the first navigation and subsequentresponsive navigations.

FIG. 30 is a diagram illustrating a detailed “General” exampleimplementation of a Visual Designation Process step, associating aVisual Designator with a Resource of a Resource Set, utilizing aPage-bound Resource Formation UI (RFUI) 1024 b (generally, a RFUI is anAUI the functions of which include the following: 1) the means to createa Resource concept defined by a Resource title; 2) the means toassociate one or more URIs to the constituent Pages or Page Selectionsof the Resource; and 3) the means to associate to a Resource elements ofResource Data in the form of organizational context that may include theResource's Group, Sub-Group, and one or more Visual Designators) of thesystem 1000 Extension Files 1048 b as discussed previously. Although (asimplied in the Visual Designation Process description for FIG. 42) theuse of the Page-bound RFUI 1024 b is not necessary to accomplish theprimary aspect (associating a Resource with a Visual Designator) of thestep represented in this figure, the Page-bound RFUI 1024 b may be usedto do so and is a useful visual aid for the sake of clarity because ofits explicit representation of data fields and example values used inthe process. In addition, the description of this step implies thatanother Visual Designation Process step, associating a Visual Designatorwith a Pane, has already or will take place. While the associationbetween a Visual Designator and a Pane is important to the VisualDesignation Process, as mentioned in the description of the summaryprocess, there are a number of ways by which a Pane can be associatedwith a Visual Designator, including by inclusion in the application codebase prior to Resource Formation. For this reason, the process ofassociating a Visual Designator and a Pane has not been included hereinas a separate figure.

As shown in this “General” example, the Page-bound AUI 1024 is aPage-bound RFUI 1024 b which displays the fields and entries forResource formation involving Page 1 1116 of Provider 1 1118. For examplethe following “field-entry” pairs are shown: “Resource title-ResourceTitle”, “Resource URI(s)-URI 5”, “Group-Group 1” (with which toassociate the Resource once formed), “tags-Tag 1A” (with which toassociate the Resource (once formed) with one or more Sub-Groups), and“Visual Designator - Visual Designator X” (the entry for which can beused to link the Resource (once formed) to a Pane associated with thesame Visual Designator). The “Save” button has been selected, saving theentries as Resource Data for what, upon the saving action, will be anewly formed Resource.

The Tab “3” and Browser Window “1” represent the tab and browserassociated with Resource 3 (the Resource being saved) as shown in FIGS.10 and 12-16 that follow the “General” example. The Navigation Arrows1120 represent standard browser navigation arrows. The Refresh Icon 1122allows the user to refresh a rendered webpage. The Address Bar 1124allows the user to enter and view the URI of any webpage or ResourcePage displayed. The Extension Icon 1058 represents the extension icon ofthe Extension Files 1048 b.

The Page 1 1116 represents any webpage available on a computer networkin its original browser rendering. Provider 1 1118 refers to theprovider who has made the Page 1 1116 available on a computer network.The “Content/function” elements represent the fact that a Page 1 1116may contain content or functional elements of any size and located atany place within the Page 1 1116 as rendered in the Browser Window.

FIG. 31 is a diagram illustrating a detailed “General” exampleimplementation of the Page-bound DNUI 1024 a utilizing the system 1000Extension Files 1048 b as discussed previously. Once a Resource Page hasbeen recognized as part of a Resource Set, the Page-bound DNUI 1024 amay become both the starting and ending point of the Navigation Process.As shown in this example, the Page-bound DNUI 1024 a displays some ofthe organizational and informational context of the Page 1 1116 withwhich it is displayed as a Resource; this context is Resource Data. Forexample “Resource 3” is the Resource title; “URI 5” is the URI of theResource Page in view; “Group 1” refers to the Group of which theResource is a part; “Tag 1A” is one of one or more tags with which theResource has been tagged and defines a Sub-Group of which the Resourceis a part; “Visual Designator X” is the Visual Designator with which theResource has been associated; the container with “3 of 5” and a set of“up” “down” arrows is the Navigation Specific UI Element 1096.

The Tab “3” and Browser Window “1” represent the tab and browserassociated with Resource 3 as shown in FIGS. 10 and 12-16. The Page 11116 represents any webpage available on a computer network in itsoriginal browser rendering. Provider 1 1118 refers to the provider whohas made the Page 1 1116 available on a computer network.

FIG. 32 is a diagram illustrating a detailed “General” exampleimplementation of the Page-bound DNUI 1024 a utilizing the system 1000Extension Files 1048 b as discussed previously. In this figure, the“down” arrow of the Navigation Specific UI Element 1096 has beenselected and thus an example of the Navigation Process, navigating fromthe third Resource to the fourth Resource within the Resource Setdefined by the Group 1, Sub-Group Tag-1A, and Visual Designator X, hasbegun.

The Tab “3” and Browser Window “1” represent the tab and browserassociated with Resource 3 as shown in FIGS. 10 and 12-16. The Page 11116 represents any webpage available on a computer network in itsoriginal browser rendering. Provider 1 1118 refers to the provider whohas made the Page 1 1116 available on a computer network.

FIG. 33 is a diagram illustrating a detailed “General” exampleimplementation of the Page-bound DNUI 1024 a utilizing the system 1000Extension Files 1048 b as discussed previously. FIG. 33 shows theexample of the Navigation Process, navigating from the third Resource tothe fourth Resource of the Resource Set defined by Group 1, Sub-GroupTag-1A, and Visual Designator X has completed.

As shown, Page-bound DNUI 1024 a now displays the Resource Data of thenew Resource Page 2 1126 with which it is displayed as Resource 4 of theResource Set of “Group 1”. As shown, “Resource 4” is the Resource title;“URI 6” is the URI of the Resource Page in view; “Group 1” refers to theGroup of which the Resource is a part; “Tag 1A” is one of one or moretags with which the Resource has been tagged and defines a Sub-Group ofwhich the Resource is a part; “Visual Designator X” is the VisualDesignator with which the Resource has been associated; the containerwith “4 of 5” and a set of “up” “down” arrows is the Navigation SpecificUI Element 1096;

The Tab “3” and Browser Window “1” represent the tab and browserassociated with Resource 4 as shown in FIGS. 10 and 12-16. The ResourcePage 2 1126 represents any webpage available on a computer network inits original browser rendering. Provider 2 1128 refers to the providerwho has made the Resource Page 2 1126 available on a computer network.The “Content/function” elements represent the fact that a Resource Page2 1126 may contain content or functional elements of any size andlocated at any place within the Resource Page 2 1126 as rendered in theBrowser Window “1”.

FIG. 34 is a diagram illustrating a “General” example implementation ofanother Visual Designation Process step, associating a Visual Designatorwith a Resource of a Resource Set, utilizing a Page-bound RFUI 1024 b ofthe system 1000 Extension Files 1048b as discussed previously. Although(as implied in the Visual Designation Process summary description forFIG. 42) using the Page-bound RFUI 1024 b is not necessary to accomplishthe primary aspect (associating a Resource with a Visual Designator) ofthe step represented in this figure, the Page-bound RFUI 1024 b may beused to do so.

As shown in this example, the Page-bound AUI 1024 is a Page-bound RFUI1024 b which displays the fields and entries for Resource formationinvolving Page 1 1130 of Provider 3 1132. For example the following“field-entry” pairs are shown: “Resource title-Resource Title”;“Resource URI(s)-URI 7”; “Group-Group 1” (with which to associate theResource once formed); “tags - - - ” (with which to associate theResource (once formed) with one or more Sub-Groups); “VisualDesignator-Visual Designator Y” (the entry for which can be used to linkthe Resource (once formed) to a Pane associated with the same VisualDesignator); and “Resource Association-Resource 3” (Resource 3 isassociated with Visual Designator X). The “Save” button has beenselected, saving the entries as Resource Data for what, upon the savingaction, will be a newly formed Resource.

The Tab “15” and Browser Window “6” represent the tab and browser windowassociated with Resource 5 (the Resource being saved) as shown in FIGS.10 and 12-16. The Page 1 1130 represents any webpage available on acomputer network in its original browser rendering. Provider 3 1132refers to the provider who has made the Page 1 1130 available on acomputer network.

FIG. 35 is a diagram illustrating a detailed “General” exampleimplementation of an Array Generation Process step, initiation of anArray Generation Process by an Array Generation Event (AGE) resultingfrom the selection of an Array Generation Specific UI Element, utilizinga Page-bound DNUI 1024 a of the system 1000 Extension Files 1048b.Although the use of the Page-bound DNUI 1024 a is not necessary totrigger an AGE, the Page-bound DNUI 1024 a may be used to do so. This“General” example assumes the user has navigated back from Resource 4,as shown in FIG. 33, to Resource 3.

As shown, a Page-bound DNUI 1024 a displays the Resource Data of theResource Page 1 1116 with which it is displayed as Resource 3 of theResource Set of Group 1 and Sub-Group Tag 1A. Resource 3 is the Resourcetitle; URI 5 is the URI of the Resource Page in view; Group 1 refers tothe Group of which the Resource is a part; Tag 1A is one of one or moretags with which the Resource has been tagged and defines a Sub-Group ofwhich the Resource is a part; Visual Designator X is the VisualDesignator with which the Resource has been associated; the containerwith “3 of 5” and a set of “up” “down” arrows is the Navigation SpecificUI Element 1096; the “XY” button in the middle of the DNUI is an ArrayGeneration Specific UI Element 1098 that may be selected to initiate anArray Generation Process, leading directly or indirectly to thepublication of an AGM listened for by AMC XY. The following FIG. 36shows the Array Generation Process initiated in this figure havinggenerated the intended Array, sizing and positioning a Browser Windowcontaining the Tab displaying a Resource Page of Resource 3 over theleft half of the Client

Area of the Display Device and a Browser Window containing the Tabdisplaying Resource 5 over the right half of the Client Area of theDisplay Device.

The Tab “3” and Browser Window “1” represent the tab and browserassociated with Resource 3 as shown in FIGS. 10 and 12-16.

The Resource Page 1 1116 represents any webpage available on a computernetwork in its original browser rendering. Provider 1 1118 refers to theprovider who has made the Resource Page 1 1116 available on a computernetwork.

FIG. 36 is a diagram illustrating a detailed “General” example of theresult of an Array Generation Process having 1) created an Array of twoResources, each displayed within a Tab 1014 of a Browser Window 1012that has been sized and positioned to a Pane Layout's Pane associatedwith the same Visual Designator as the Resource displayed in the BrowserWindow's 1012 Tab 1014; and 2) utilized, among other elements of thesystem 1000, an AMC XY 1064, Visual Designator X and Y, Pane Layout 1, 2defined by PCPs, a Resource 3 of a Resource Set associated with VisualDesignator X, and a Resource 5 of a Resource Set associated with boththe latter Resource 3 and Visual Designator Y.

As shown, Browser Window “1” is sized and positioned to the left half ofthe Client Area 1030 of the Display Device 1010 corresponding to thePane 1 that is also associated with Visual Designator X because BrowserWindow “1” contains Tab “3” that displays Resource 3 of Group 1 andSub-Group Tag 1A associated with the Visual Designator X. Browser Window“6” is sized and positioned to the right half of the Client Area 1030 ofthe Display Device 1010 corresponding to the Pane 2 that is alsoassociated with Visual Designator Y because Browser Window “6” containsTab “15” that displays Resource 5 of Group 1 and Sub-Group Tag lA thatis associated with both Resource 3 and the Visual Designator Y.

As mentioned in the previous FIG. 35 describing the same “General”example, the Array Generation Process resulting in this Array wasinitiated by selection of the Array Generation Specific UI Element 1098leading to the publication of an AGM. This AGM may contain the Tab DataAttributes sufficient to inform its targeted AMC of the Resources to bedisplayed in the Array. For example, the AGM may contain just the Tab IDof the Tab from which the AGM was generated and, if there is more thanone AMC in the system, the targeted AMC ID; the targeted AMC can receivethis message and use the Tab ID to retrieve the Tab Data Attributes fromthe Tab Data Set 1074 a of FIGS. 12-16. As described in FIG. 13, the AMCXY 1064 may receive the Tab ID of the Tab from which the AGM wasgenerated and use it to retrieve the Resource ID of that tab from theTab Data Set 1074 a. Because the Array to be generated involves twoResources of Group 1 and Sub-Group Tag 1A, one associated with the other(that associated with Visual Designator Y associated with thatassociated with Visual Designator X), the AMC XY 1064 may use theResource ID retrieved for the AGM initiating tab as the basis forquerying the Resource Data Set to retrieve the Resource ID and VisualDesignator of its associated Resource. In this example, an AGM isgenerated from the Array Generation Specific UI Element 1098 displayedin the DNUI of Resource 3 displayed in Tab “3”; the AGM contains Tab ID“3” as shown in FIGS. 12-16; Tab ID “3” is used to retrieve Resource 3′sResource ID 3; Resource ID 3 is used as the basis by the AMC XY 1064 forquerying the Resource Data Set to retrieve Resource 3's relatedResource's Tab Data Attributes sufficient for completion of the ArrayGeneration Process; Resource 3's related Resource's Tab Data Attributesare Resource ID 5 and Visual Designator Y.

At a point before the AMC XY 1064 sizes and positions the BrowserWindows of the Array, the AMC XY will ensure it has access to the mostup-to-date PCPs defining the Panes of the Pane Layout underlying theArray the AMC XY governs. Because there are a number of ways by whichthe AMC XY 1064 can access the PCPs and their associated VisualDesignators, this example will assume that step has completed and theAMC XY's Pane Layout's PCPs are up-to-date.

As described in FIG. 13, upon retrieving the Tab Data Attributes forResource 5 the AMC XY 1064 may query the Tab Data Set 1074 a todetermine whether a TNAT (either a Non-Array Tab exists displayingResource ID 5 or www.google.com) exists that it can use as the secondtab of its Array to avoid needlessly generating a new tab. In thisexample, such a query identifies Tab “15” as a TNAT and returns thatinformation to the AMC XY 1064. AMC XY then can affect the process tochange Tab “15”'s displayed URI to that of a URI of Resource 5 andincorporate Tab “15” into the Array containing Tab “3”, ultimatelywriting to Tab “15”'s Tab Data Attributes the AMC XY's ID, AMC ID XY. Inaddition, in order to differentiate the Array containing Tabs “3” and“15” from another AMC XY Array (such as that containing Tabs “5” and “8”as shown in FIGS. 12-16), the AMC XY 1064 will also write to Tab “3”that it is related to Tab “15” and to Tab “15” that it is related to Tab“3”.

Each Tab, in a different Browser Window, now displays a Resourceintended for display. At a point before the AMC XY 1064 sizes andpositions the Browser Windows of the Array, the AMC XY may match eachResource intended for display in the Array to a Pane of the AMC's PaneLayout by virtue of the Resource and Pane's common Visual Designator.There are many ways by which this step can take place. This exampleassumes the matching happens by the AMC XY 1064 matching the Resource IDand Visual Designator of each Resource written in the Tab Data Set 1074a to the Pane's PCPs associated with the same Visual Designator and towhich the AMC XY 1064 has access.

Once Resources and Panes have been “matched” and at least one Resourceto be displayed in the Array has been displayed in a Tab in a uniqueBrowser Window, the AMC XY 1064 can use the PCPs to position and sizethe Browser Window displaying the Tab displaying the Resource with whichthe PCP's Pane share a common Visual Designator. In this example,Browser Window “1” displaying Tab “3” displaying Resource 3 gets sizedto the left half of the Client Area 1030 of the Display Device 1010using the PCPs of Pane 1 that have been associated with their commonVisual Designator X. The Browser Window “6” displaying Tab “15”displaying Resource 5 gets sized to the right half of the Client Area1030 of the Display Device 1010 using the PCPs of Pane 2 that have beenassociated with their common Visual Designator Y.

Each Browser Window and Tab represents any conventional browser windowand tab. The Page 1 1116 represents any webpage available on a computernetwork in its original browser rendering. Provider 1 1118 refers to theprovider who has made the Page 1 1116 available on a computer network.The Page 1 1130 represents any webpage available on a computer networkin its original browser rendering. Provider 3 1132 refers to theprovider who has made the Page 1 1130 available on a computer network.

As shown, the Navigation Specific UI Element 1096 of Resource 3'sPage-Bound DNUI 1024 a has been selected in this figure. The nextfigure, FIG. 37, discusses and shows the result of this action thatinitiates an Array Responsive Action Process.

FIG. 37 is a diagram illustrating a detailed “General” example of anArray Responsive Action Process (initiated in the previous figure, FIG.36) having affected a Navigation Process in both Browser Window “1”'sTab “3” and Browser Window “6”'s Tab “15” by the single selection actionon a Navigation Specific UI Element in Browser Window “1”'s Tab “3”'sResource 3's Page-Bound DNUI 1024 a.

As shown, this figure assumes that some time after the Array GenerationProcess has been completed for Tab “3” and “15”, an Array ResponsiveAction Process is initiated for the Array by affecting a navigation inTab “3” from a URI/Resource Page of Resource ID 3 to a URI/Resource Pageof Resource ID 4.

Because, in this example, the Resources in the Array associated with VDY are associated with a specific Resource in the Array associated withVD X, the navigation from a URI/Resource Page of Resource 3 to that of aURI/Resource Page of Resource 4 affects a navigation in Tab “15” fromthe URI/Resource Page of Resource 5 which is associated specifically toResource 3 to that of a URI/Resource Page of Resource 6 which isassociated specifically to Resource 4. Doing so allows the relationshipbetween linked Resources within the Group 1 and Sub-Group Tag 1A toremain visually consistent as the user moves through Resources of Group1 and Sub-Group Tag 1A associated with the same Visual Designator. Inother words, within Group 1 and Sub-Group Tag 1A, Resources associatedwith VD Y that are associated with a specific Resource associated withVD X will only be displayed in the right half of the Client Area 1030 ofthe Display Device 1010 when the specific Resource associated with VD Xwith which they are associated is displayed in the left half of theClient Area 1030 of the Display Device 1010.

Maintaining the latter visual relationship constitutes a form of Arraybehavior and may be in part managed by an AMH of the AMC XY 1064,Navigate AMI-1, constructed for that responsive navigation within theArray. This example assumes the selection of Resource 3's Page-BoundDNUI' s 1024 a Navigation Specific UI Element 1096 displayed in Tab “3”initiates a Navigation Process in Tab “3” by the publication of aNavigate Message, indicating a Navigation Process has started andcontaining information indicating the Resource and/or Resource Set(Resource 4 of Group 1 and Sub-Group Tag 1A) to which the BrowserApplication 1032 should navigate and the tab or tabs (Tab “3” in thisexample) in which to affect the navigation. To affect the NavigationProcess a Navigate Handler of the Background Page 1050 b receives thismessage. Once received by the Navigate Handler (an Event X Handler1100), the Navigation Process may continue to completion for Tab “3”. Toaffect an Array Responsive Action Process connected with thisnavigation, the Navigate AMR (an Event X AMR 1106) of the AMC XY 1064also listens for and receives the Navigate Message. Upon receiving theNavigate Message stemming from selection of Navigation Specific UIElement 1096 of the Resource 3 displayed in Tab “3”, the Navigate AMR(an Event X AMR 1106) of AMC XY 1064 publishes a second Navigate Messagefor receipt by the same Navigate Handler (an Event X Handler 1100)utilized in the Navigation Process for Tab “3”. However, the secondNavigate Message contains information indicating the Resource and/orResource Set (Resource 6 of Group 1 and Sub-Group Tag 1A) to which theBrowser Application 1032 should affect a navigation in Tab “15”; theNavigate AMR (an Event X AMR 1106) may understand that the NavigateMessage should affect Tab “15” by virtue of the Tab Data Attributesavailable in the Tab Data indicating the association of Tab “15” toResource 5. From publication of this second Navigate Message by theNavigate AMR (an Event X AMR 1106) of AMC XY 1064, the second navigationassociated with this message continues to completion as if initiatedfrom Tab “15”. As the events occur that generate data elementsconstituting the Tab Data Attributes for the Tab Data Attribute Sets forTab “3” and Tab “15”, each is written to the Tab Data, updating the TabData to reflect the current state of each Tab, its displayed Resource,and the relationship of both to the Array of which they are a part.

The Page 2 1126 represents any webpage available on a computer networkin its original browser rendering. Provider 2 1128 refers to theprovider who has made the Page 2 1126 available on a computer network.The Page 1 1134 represents any webpage available on a computer networkin its original browser rendering. Provider 3 1136 refers to theprovider who has made the Page 1 1134 available on a computer network.

The example above illustrates just a single instance of how the ArrayResponsive Action Process can be implemented in an Array. The ArrayResponsive Action Process may be implemented to affect many responsiveactions other than that of navigation including keyword search andhighlighting, deletion, Application UI opening and closing, and ArrayTab open and closing.

FIG. 38 is a diagram illustrating an “Education” example of theinitiation of an Array Generation Process. A chapter of an eTextbook onRoman Engineering, is displayed with a DNUI. In the DNUI there is a userinterface element, an Array Generation Specific UI Element 1098 a, thatwhen selected will initiate an Array Generation Process. For thisdiagram, the Array Generation Specific UI Element 1098 a has beenselected. The Array Generation Specific UI Element 1098 a displays “FC”to indicate the generated Array will display a Resource associated withVisual Designator Focus on the left and a Resource associated with theVisual Designator Context on the right; in this diagram a Resourceassociated with Context also is associated with a particular Resourceassociated with Focus. The webpage in view, a chapter on RomanEngineering provided by an eTextbook Provider, has been associated withthe Visual Designator Focus; upon completion of the Array GenerationProcess this Resource will be positioned on the left half of thedisplay.

FIG. 39 is a diagram that shows the Array Generation Process initiatedin FIG. 38 having completed. The Array Generation Process has created atwo-window Array of Resources with the page of an eTextbook on RomanEngineering that has been associated with the Visual Designator Focuspositioned on the left half of the display and a page showing a map viewof the Colosseum that has been associated with both the eTextbook pageon Roman Engineering and the Visual Designator Context positioned on theright half of the display. The Navigation Specific UI Element 1096 hasbeen selected, specifically in this case a down arrow, initiating anArray Responsive Action Process which will cause 1) a navigation fromthe third of five to the fourth of five Resources associated with Focusand of the Group Education and sub-Group Ancient Rome, in this case anavigation from the eTextbook page on Roman Engineering to aneducational video on the Roman Forum; and 2) a second navigation from aContext associated with the third of five Resources associated withFocus and of the Group Education and sub-Group Ancient Rome to a Contextassociated with the fourth of five Resources associated with Focus andof the Group Education and sub-Group Ancient Rome, in this case anavigation from the page showing a map view of the Colosseum to a pageshowing a map view of the Roman Forum.

FIG. 40 shows the end result of this Array Responsive Action Process,the new Focus Resource is in view and aligned with its associatedContext Resource.

FIGS. 41A and 41B are flowcharts illustrating example operations(41002-41028) of the system 1000 of FIG. 1 executing a NavigationProcess, enablement of the repetitive selection of the same NavigationSpecific UI Element in the Dynamic Navigation User Interface (DNUI) toresult in the display of Resources in a Resource Set according to theResource Set's creator's intended scope and sequence.

In the example of FIGS. 41A and 41B, in a first instance, theApplication Controller detects a page loaded into a tab is a Resource ofa Resource Set (41002). The Application Controller retrieves the loadedResource's Resource Data (41004). The Application Controller builds aDNUI View State and Resource Data Message for that Resource (41006). TheApplication Controller publishes the DNUI View State and Resource DataMessage (41008). An AUI Controller receives the DNUI View State andResource Data Message (41010). An AUI Controller executes code resultingin the display of a DNUI including Navigation Specific UI Element in oralongside the loaded Resource Page (41012). Upon selection of thedisplayed Navigation Specific UI Element the AUI Controller publishes aNavigate Message (41014). The Application Controller receives theNavigate Message (41016). The Application Controller retrieves theResource Data of a Resource intended as a Resource to which the BrowserApplication will navigate (41018). The Application Controller changesappropriate tab's Document URI to that of a Resource intended as theResource to which the Browser Application will navigate (41020). TheApplication Controller builds a corresponding DNUI View State andResource Data Message (41022). The Application Controller publishes theDNUI View State and Resource Data Message (41024). An AUI Controllerreceives the DNUI View State and Resource Data Message (41026). The AUIController executes code resulting in display of a Resource's DNUIincluding its Navigation Specific UI Element according to the ResourceSet's creator's intended scope and sequence in the appropriate tab(41028).

FIG. 42 is a flowchart illustrating example operations (42002-42008) ofa Visual Designation Process. These operations may be accomplished usingthe Application Controller of Browser Application 1032/1033 or anapplication acting at a lower, operational system level that maydistinguish between and utilize Resources of multiple applications onLocal Computing Device 1002.

In the example of FIG. 42, in a first instance, one or more VisualDesignators is selected or created and made available for use by theApplication Controller (42002). A Pane Layout of one or more Panesdefined by Pane Configuration Parameters is created and made availablefor use by the Application Controller (42004). Each Pane is associatedwith the one or more Visual Designators, the association of which ismade available for use by the Application Controller (42006). One ormore Resources of a Resource Set is associated with the same one or moreVisual Designators as one or more Panes; the association of which ismade available for use by the Application Controller (42008). In anotherembodiment of the Visual Designation Process, the Visual Designators maybe applied directly to the viewing component of “(42008)” in which theResource is displayed instead of the Resource itself. For example, theVisual Designator may be applied to a Tab displaying a webpage insteadof the webpage and/or the URI of the webpage itself.

It is important to note that the RSPP includes the ability to share anyResource Set and associated positional data defining where the digitalresource viewing components displaying the Resources should bepositioned on the screen or within another viewing component with anynumber of users.

For example, a user could share any collection of webpages and/or URIsand associated positional data defining where the browser windowsdisplaying the webpages should be positioned on the screen or RenderedViews displaying the webpages should be positioned within a BrowserWindow with any number of users. The RSPP enables users to share suchinformation with any number of traditional sharing processes, an exampleof which would be 1) storing the webpages and/or URIs and theirpositional display data (whether directly associated to the webpagesand/or URIs or indirectly associated through the use of VisualDesignator common to both the webpages and/or URIs and the positionaldata for the webpages and/or URIs) and/or Resource Data saved by a firstuser on a Remote Server; 2) copying the latter webpages and/or URIs andtheir associated positional data and/or Resource Data and storing thedata as a separate, second data set on a Remote Server; 3) alerting oneor more users that a set of webpages and/or URIs and their positionaldisplay data and/or Resource Data has been shared with them; 4) allowingthe one or more other users to access the second, shared data set anddisplay the webpages and/or URIs' associated webpages and/or ResourceData of the second, shared data set according to the positional displaydata associated with the webpages and/or URIs and/or Resources in Array.Sharing presentations is an aspect of the RSPP.

FIGS. 43A and 43B are flowcharts illustrating example operations(43002-43018) of the system 1000 of FIG. 1 executing an Array GenerationProcess, generation of an Array of one or more Resources, each Resourcein the Array being displayed in a Browser Window positioned over adefined area of the Client Area of the Display Device, referred toherein as a Pane, the Pane and Resource having one or more common VisualDesignators. Also, as represented in the figures and description herein,an Event Broker may be used for messaging including between theApplication Controller 1040 and the AUI Controller 1042 and/or to theApplication Controller 1040 upon Tab and Browser Window Events.

In the example of FIGS. 43A and 43B, in a first instance, an ArrayGeneration Event (AGE) initiates the Array Generation Process (43002).In many instances this event is or leads directly to an AUI Controller1042 or Application Controller 1040 publishing an AGM (43004). If thisoccurs, the AMC targeted by the AGM and possibly one or more ApplicationController 1040 components receive the AGM which contains all, some, ornone of the Resource ID and/or Tab Data Attributes for Array Generation(43006). Alternatively, other AGEs may occur that do not require thepublication of an AGM in order to activate the function of the AMC asdescribed below. The AMC responds to the AGE and retrieves (from theResource Data Set 1026) and/or recognizes Resource Data elements todisplay each Resource intended for display in the Array (43008). The AMCretrieves or recognizes one or more Visual Designators for each Resourceintended for display in the Array (43010). The AMC retrieves orrecognizes Pane Configuration Parameters for each Pane of the Array(43012). The AMC matches each Resource to one or more Panes by virtue ofthe Resource's and Pane's one or more common Visual Designators (43014).The Application Controller 1040 and/or AMC causes each Array Resource tobe displayed in a Tab 1014 of a Browser Window 1012 (43016). The AMCpositions and sizes each Array Browser Window 1012 to the Pane withwhich its Resource is associated by a common Visual Designator; the AMCmay detach an Array Tab 1014 from a Browser Window 1012 if desirable(43018).

FIG. 44 illustrates an embodiment of a process for controllingnavigation between digital resources. Particularly, where multipleresources may be concurrently displayed, the process of FIG. 44 enablesautomatic navigation to a resource having a known association withanother resource to which navigation is requested. For example, whennavigating to a new Focus in a first digital resource viewing component(e.g., a first browser window, tab, or view), a navigation handler mayautomatically initiate navigation to a Context that is associated withthe new Focus (e.g., the first Context in the ordered sequence ofContext resources) in a second digital resource viewing component (e.g.,a second browser window, tab, or second view in the first browserwindow) that may be concurrently displayed. Thus, the systembeneficially presents the user with a contextual resource relevant tothe resource to which navigation is requested, and may enable the userto concurrently view these resources in a convenient manner.

In the example process of FIG. 44, identifiers for a plurality ofdigital resources and associations between the digital resources areinitially stored (44002). For example, resources may be stored indifferent ordered sets which may each be designated as particular typesof resources such as Contexts or Focuses. Each resource may beassociated with a plurality of other resources in a designatedrelationship. For example, a Focus resource may be associated with aplurality of Context resources that may each provide differentcontextual information relating to the subject of the Focus resource. Adisplay device may initially display (44004) a set of two or moreresources. For example, a first Focus may be initially displayed in afirst viewing component and an associated Context may be displayedinitially in a second viewing component. In another example, theinitially displayed resources may comprise another set of resources thatdo not necessarily include a related Focus and Context (e.g., twoFocuses, two Contexts, or unlabeled resources). A user interface is alsodisplayed (44006) that includes various user interface elements thatwhen selected enable navigation between digital resources. For example,the user interface element may include next and previous buttons thatenable navigation to a next or previous resource in the ordered set ofresources of which the initially displayed resource is a member.Additionally, the user interface element may enable navigation to otherresources in the ordered set or to resources that are not necessarilymembers of the same ordered set. Selection of the navigation userinterface element is detected (44008). This selection indicates arequest to navigate to a new resource in the first viewing component.For example, in the case that the first viewing component displays aFocus in an ordered set of Focuses, the user interface element may causenavigation to a next or previous Focus in this set. In response to theselection, navigation to the new resource in the first viewing componentis initiated (44010). An array management component then detects (44012)other resources that have stored associations with the new resource towhich navigation is requested. These may be, for example, a set ofContext resources associated with a new Focus resource being navigatedto in the first viewing component. Alternatively, the related resourcesmay include other resources with stored associations with the newlyloaded resource that is not necessarily a Focus-Context relationship. Inresponse to detecting the one or more associations to other resources,the array management component automatically initiates (44014)navigation to one of the detected related resources in the secondviewing component. For example, if the requested resource is associatedwith multiple other resources, one of the associated resources may beselected to display in the second viewing component. For example, wherethe associated resources are part of an ordered set of resources (suchas an ordered set of Contexts associated with a selected Focus), thefirst numerically ordered resource in the set may be selected.

In one embodiment, the array management component may furthermoreautomatically select which viewing component of multiple availableviewing components (e.g., multiple open tabs, browser windows, or viewsof a browser window or tab) to use for navigating to the relatedresource. In this embodiment, the array management component may detecta previously stored association between the first viewing component andthe second viewing component, and select the second component fordisplaying the related resource based on this known association. Forexample, if a second viewing component is already being used to viewContext resources related to a particular Focus in a first viewingcomponent, a Focus-Context association may be stored for the first andsecond viewing component. The relationship may be detected, thus causingthe array management component to select the second viewing componentfor navigating to the associated resource.

FIG. 45 is a flowchart illustrating example operations (45002-45012) ofthe system 1000 of FIG. 1 executing an Array Responsive Action Process,enablement of an event affecting the display of an Array Resource and/orits Tab and/or its Browser Window to affect the display of another ArrayResource and/or its Tab and/or its Browser Window.

In the example of FIG. 45, in a first instance, an Event X Message 1associated with a Tab 1, Browser Window 1 is published (for thisexample, the “1” in Event X Message 1 represents that Event X Message 1is the first instance of any number of possible Event X Messages in thedescription. The “1” in both Tab 1 and Browser Window 1 represents anyopen Tab 1014 and Browser Window 1012 of a Browser Application 1032)(45002). The Event X Handler 1100/Application Controller 1040 receivesEvent X Message 1 associated with a Tab 1, Browser Window 1 (45004). Theone or more processes initiated by Event X Message 1 are carried out forTab 1, Browser Window 1 (45006). One or more AMCs' Event X AMH 1106receives the same Event X Message 1 (or one derived from it) as receivedby the Event X Handler (45008). The one or more AMCs' Event X AMH 1106initiates one or more Event Messages “i” for one or more Array or TNATTabs 1014; each AMC may initiate a unique Event Message for each Arrayor TNAT Tab 1014 depending on the desired behavior for each of thelatter Tabs that is to be associated with the initial Event X Message 1in Tab 1, Browser Window 1 (because one or more of the Event Messagesgenerated by the Event X AMH may be one or more other instances of anEvent X Message, the range of all possible Event Messages generated bythe Event X AMH is represented as Event Messages “i”; therefore EventMessages “i” represents any number of Event X Messages and/or otherkinds of Event Messages; by extension of the same logic, Event processes“i” has been used instead of Event X processes “i” to represent therange of processes that may be executed to completion upon generation ofthe corresponding Event Message for each) (45010). Event processes “i”are executed to completion for the latter one or more Array and/or TNATTabs 1014 (45012). As noted, the RSPP may include processes similar tothe Array Responsive Action Process in which a Visual Designator may bethe PCPs of a Pane itself. In such a case, a component, similar infunction to an AMC, may manage the responsive actions between associatedtabs and/or the Resources displayed in them.

FIG. 46 is a flowchart illustrating example operations (46002-46012) ofthe system 1001 of FIG. 2 executing an Array Responsive Action Process,enablement of an event affecting the display of an Array Resource and/orits Rendered View and/or its Tab and/or its Browser Window to affect thedisplay of another Array Resource and/or its Rendered View and/or itsTab and/or its Browser Window.

In the example of FIG. 46, in a first instance, an Event X Message 1associated with a Rendered View 1, Tab 1, Browser Window 1 is published(for this example, the “1” in Event X Message 1 represents that Event XMessage 1 is the first instance of any number of possible Event XMessages in the description. The “1” in Rendered View 1, Tab 1, andBrowser Window 1 represents any Rendered View, Tab and Browser Window ofa Browser Application 1033) (46002). The Event X Handler 1101 /Application Controller 1041 receives Event X Message 1 associated with aRendered View 1, Tab 1, Browser Window 1 (46004). The one or moreprocesses initiated by Event X Message 1 are carried out for RenderedView 1, Tab 1, Browser Window 1 (46006). One or more AMCs' Event X AMH1107 receives the same Event X Message 1 (or one derived from it) asreceived by the Event X Handler (46008). The one or more AMCs' Event XAMH 1107 initiates one or more Event Messages “i” for one or more Arrayor TNARV Rendered Views 1017; each AMC may initiate a unique EventMessage for each Array or TNARV Rendered View 1017 depending on thedesired behavior for each of the latter Rendered Views that is to beassociated with the initial Event X Message 1 in Rendered View 1, Tab 1,Browser Window 1 (because one or more of the Event Messages generated bythe Event X AMH may be one or more other instances of an Event XMessage, the range of all possible Event Messages generated by the EventX AMH is represented as Event Messages “i”; therefore Event Messages “i”represents any number of Event X Messages and/or other kinds of EventMessages; by extension of the same logic, Event processes “i” has beenused instead of Event X processes “i” to represent the range ofprocesses that may be executed to completion upon generation of thecorresponding Event Message for each) (46010). Event processes “i” areexecuted to completion for the latter one or more Array and/or TNARVRendered Views 1017 (46012).

FIG. 47 is a flowchart illustrating detailed example operations(47002-47012) of the system 1000 of FIG. 1 executing an Array ResponsiveAction Process, enablement of an event affecting the display of an ArrayResource and/or its Tab and/or its Browser Window to affect the displayof another Array Resource and/or its Tab and/or its Browser Window. Inaddition, this figure assumes the existence of a TDMS that includes oneor more of a TDMS' functions as described in FIGS. 12-16. A TDMS isdesirable to ensure an AMC understands which of its Tabs to affect witha responsive action and, in a case where there is more than one AMC andArray, a means for tracking the Tab Data Attribute Sets of each Array byassigning each Tab Data Attribute Set an AMC ID, a data element thatindicates the AMC and Array of which the Tab Data Attribute Set is apart. For the sake of brevity and to avoid redundancy, one may read analternative implementation of operations (47002-47012) by substitutingBackground Page 1050 in place of Application Controller 1040.

In the example of FIG. 47, in a first instance, an Event X Message 1associated with a Tab 1, Browser Window 1 is published (for thisexample, the “1” in Event X Message 1 represents that Event X Message 1is the first instance of any number of possible Event X Messages in thedescription. The “1” in both Tab 1 and Browser Window 1 represents anyopen Tab 1014 and Browser Window 1012 of a Browser Application 1032)(47002). Application Controller's 1040 Event X Handler 1100 receivesEvent X Message 1 associated with a Tab 1, Browser Window 1 (47004). Theone or more processes initiated by Event X Message 1 are carried out forTab 1, Browser Window 1 (47006). One or more AMCs' Event X AMH 1106 ofthe Application Controller 1040 receives the same Event X Message 1 (orone derived from it) as received by the Event X Handler (47008). The oneor more AMCs' Event X AMH 1106 initiates one or more Event Messages “i”for one or more Array or TNAT Tabs 1014; each AMC may initiate a uniqueEvent Message for each Array or TNAT Tab 1014 depending on the desiredbehavior for each of the latter Tabs that is to be associated with theinitial Event X Message 1 in Tab 1, Browser Window 1 (because one ormore of the Event Messages generated by the Event X AMH may be one ormore other instances of an Event X Message, the range of all possibleEvent Messages generated by the Event X AMH is represented as EventMessages “i”; therefore Event Messages “i” represents any number ofEvent X Messages and/or other kinds of Event Messages; by extension ofthe same logic, Event processes “i” has been used instead of Event Xprocesses “i” to represent the range of processes that may be executedto completion upon generation of the corresponding Event Message foreach) (47010). Event processes “i” are executed to completion for thelatter one or more Array and/or TNAT Tabs 1014 (47012).

FIG. 48 is a flowchart illustrating detailed example operations(48002-48014) of the system 1000 of FIG. 1 executing an Array ResponsiveAction Process specific to a Navigation Process. In addition, thisfigure assumes the existence of a TDMS that includes one or more of aTDMS' functions as described in FIGS. 12-16. A TDMS is desirable toensure an AMC understands which of its Tabs to affect with a responsiveaction and, in a case where there is more than one AMC and Array, ameans for tracking the Tab Data Attribute Sets of each Array byassigning each Tab Data Attribute Set an AMC ID, a data element thatindicates the AMC and Array of which the Tab Data Attribute Set is apart. For the sake of brevity and to avoid redundancy, one may read analternative implementation of operations (48002-48014) by substitutingBackground Page 1050 in place of Application Controller 1040, ContentScript 1052 in place of AUI Controller 1042, and Page-bound DNUI 1022 or1024 in place of Browser-bound 1020.

In the example of FIG. 48, in a first instance, a Navigation Specific UIElement 1096 on the Browser-bound DNUI 1020 is selected to navigate to aResource and/or Resource Set in a Tab 1, Browser Window 1 according tothe Resource Set's creator's intended scope and sequence (the “1” inboth Tab 1 and Browser Window 1 represents any open Tab 1014 and BrowserWindow 1012 of a Browser Application 1032) (48002). An AUI Controller1042 sends a Navigate Message 1 to the Application Controller's 1040Navigate Handler (an Event X Handler 1100) indicating the Resourceand/or Resource Set to which the user intends to navigate a Tab 1,Browser Window 1 and informing the Application Controller 1040 to builda corresponding Dynamic Navigation UI View State and Resource DataMessage (for this example, the “1” in Navigate Message 1 represents thatNavigate Message 1 is the first instance of any number of possibleNavigate Messages in the description) (48004). The ApplicationController's 1040 Navigate Handler receives the Navigate Message 1(48006). The Navigation Process for Tab 1, Browser Window 1 is executedto completion (48008). The Application Controller's 1040 AMC's NavigateAMH (an Event X AMH 1106) receives the same Navigate Message 1 (or onederived from it) as above (48010). The Application Controller's 1040AMC's Navigate AMH initiates one or more Navigate Message “i”s for oneor more Array or TNAT Tabs 1014 other than Tab 1, Browser Window 1indicating the Resource and/or Resource Set to which the Tabs shouldnavigate according to the Resource Set's creator's intended scope andsequence (because one or more of the Navigate Messages generated by theNavigate AMH may be one or more other instances of a Navigate Message,the range of possible Navigate Messages generated by the Navigate AMH isrepresented as Navigate Messages “i”; therefore Navigate Messages “i”represents any number of Navigate Messages; by extension of the samelogic, “i” Navigation Processes has been used to represent the range ofNavigation Processes that may be executed to completion upon generationof the corresponding Navigate Message for each) (48012). The ApplicationController's 1040 Navigate Handler receives the Navigate Message “i”s.“i” Navigation Processes are executed to completion for the latter oneor more Array and/or TNAT Tabs 1014 (48014).

FIG. 49 is a flowchart illustrating detailed example operations(49002-49014) of the system 1001 of FIG. 2 executing an Array ResponsiveAction Process specific to a Navigation Process. In addition, thisfigure assumes the existence of a RVDMS that includes one or more of aRVDMS' functions as described in FIGS. 17-21. A RVDMS is desirable toensure an AMC understands which of its Rendered Views to affect with aresponsive action and, in a case where there is more than one AMC andArray, a means for tracking the Rendered Views Data Attribute Sets ofeach Array by assigning each Rendered View Data Attribute Set an AMC ID,a data element that indicates the AMC and Array of which the RenderedViews Data Attribute Set is a part. For the sake of brevity and to avoidredundancy, one may read an alternative implementation of operations(49002-49014) by substituting Background Page 1051 in place ofApplication Controller 1041, Content Script 1053 in place of AUIController 1043.

In the example of FIG. 49, in a first instance, a Navigation Specific UIElement 1096 on a DNUI is selected to navigate to a Resource and/orResource Set in a Rendered View 1, Tab 1, Browser Window 1 according tothe Resource Set's creator's intended scope and sequence (the “1” inRendered View 1, Tab 1, and Browser Window 1 represents any RenderedView, Tab, and Browser Window of a Browser Application 1033) (49002). AnAUI Controller 1043 sends a Navigate Message 1 to the ApplicationController's 1041 Navigate Handler (an Event X Handler 1101) indicatingthe Resource and/or Resource Set to which the user intends to navigate aRendered View 1, Tab 1, Browser Window 1 and informing the ApplicationController 1041 to build a corresponding Dynamic Navigation UI ViewState and Resource Data Message (for this example, the “1” in NavigateMessage 1 represents that Navigate Message 1 is the first instance ofany number of possible Navigate Messages in the description) (49004).The Application Controller's 1041 Navigate Handler receives the NavigateMessage 1 (49006). The Navigation Process for Rendered View 1, Tab 1,Browser Window 1 is executed to completion (49008). The ApplicationController's 1041 AMC's Navigate AMH (an Event X AMH 1107) receives thesame Navigate Message 1 (or one derived from it) as above (49010). TheApplication Controller's 1041 AMC's Navigate AMH initiates one or moreNavigate Message “i”s for one or more Array or TNARV Rendered Viewsother than Rendered View 1, Tab 1, Browser Window 1 indicating theResource and/or Resource Set to which the Rendered Views should navigateaccording to the Resource Set's creator's intended scope and sequence(because one or more of the Navigate Messages generated by the NavigateAMH may be one or more other instances of a Navigate Message, the rangeof possible Navigate Messages generated by the Navigate AMH isrepresented as Navigate Messages “i”; therefore Navigate Messages “i”represents any number of Navigate Messages; by extension of the samelogic, “i” Navigation Processes has been used to represent the range ofNavigation Processes that may be executed to completion upon generationof the corresponding Navigate Message for each) (49012). The ApplicationController's 1041 Navigate Handler receives the Navigate Message “i”s.“i” Navigation Processes are executed to completion for the latter oneor more Array and/or TNARV Rendered Views 1017 (49014).

The processes described herein are generally described in a sequentialmanner. However, it may be appreciated that the steps may execute in apartially or completely overlapping (e.g., parallel) manner. Further,the steps may occur in an order different than that shown, may includeadditional or different operations not specifically illustrated, and/ormay omit illustrated steps. Further, steps in these figures may beaccomplished by a number of ways by varying the location of the dataelements and degree of programmatic function of one or more steps.

The foregoing description of the embodiments has been presented for thepurpose of illustration; it is not intended to be exhaustive or to limitthe patent rights to the precise forms disclosed. Persons skilled in therelevant art can appreciate that many modifications and variations arepossible in light of the above disclosure.

Some portions of this description describe the embodiments in terms ofalgorithms and symbolic representations of operations on information.These algorithmic descriptions and representations are commonly used bythose skilled in the data processing arts to convey the substance oftheir work effectively to others skilled in the art. These operations,while described functionally, computationally, or logically, areunderstood to be implemented by computer programs or equivalentelectrical circuits, microcode, or the like. Furthermore, it has alsoproven convenient at times, to refer to these arrangements of operationsas modules, without loss of generality. The described operations andtheir associated modules may be embodied in software, firmware,hardware, or any combinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a non-transitory computer-readablestorage medium containing computer-executable instructions which can beexecuted by a computer processor for performing any or all of the steps,operations, or processes described.

Embodiments may also relate to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, and/or it may comprise a general-purpose computingdevice selectively activated or reconfigured by a computer programstored in the computer. Such a computer program may be stored in anon-transitory, tangible computer readable storage medium, or any typeof media suitable for storing electronic instructions, which may becoupled to a computer system bus. Furthermore, any computing systemsreferred to in the specification may include a single processor or maybe architectures employing multiple processor designs for increasedcomputing capability.

Embodiments may also relate to a product that is produced by a computingprocess described herein. Such a product may comprise informationresulting from a computing process, where the information is stored on anon-transitory, tangible computer readable storage medium and mayinclude any embodiment of a computer program product or other datacombination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the patent rights. It istherefore intended that the scope of the patent rights be limited not bythis detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsis intended to be illustrative, but not limiting, of the scope of thepatent rights.

1. A method for controlling navigation between digital resources in anapplication executing on a client device in a networked computerenvironment, the method comprising: storing by a memory of the clientdevice, identifiers for at least a first digital resource, a seconddigital resource, a third digital resource, and a fourth digitalresource, the first and third digital resources in a first ordered setof digital resources, the second digital resource in a second orderedset of digital resources and the fourth digital resource in a thirdordered set of digital resources, the fourth digital resource having astored association with the third digital resource; displaying the firstdigital resource of the first ordered set of digital resources in afirst digital resource viewing component and the second digital resourceof the second ordered set of digital resources in a second digitalresource viewing component; causing, by a processor of the clientdevice, a display to display a user interface element for navigatingbetween the digital resources; detecting, by the processor, a selectionof the user interface element; responsive to the selection of the userinterface element, initiating, by the processor, navigation from thefirst digital resource to the third digital resource of the firstordered set of digital resources in the first digital resource viewingcomponent; detecting, by the processor, the stored association betweenthe third digital resource and the fourth digital resource; andresponsive to detecting the stored association, initiating, by theprocessor, navigation from the second digital resource of the secondordered set of digital resources to the fourth digital resource of thethird ordered set of digital resources in the second digital resourceviewing component.
 2. The method of claim 1, further comprising:storing, by the memory, an association between the first digitalresource viewing component and the second digital resource viewingcomponent; wherein initiating the navigation from the second digitalresource of the second ordered set of digital resources to the fourthdigital resource in the third ordered set of digital resourcescomprises: detecting, by the processor, the association between thefirst digital resource viewing component and second digital resourceviewing component; and responsive to detecting the association,designating the second digital resource viewing component for loadingthe fourth digital resource.
 3. The method of claim 1, wherein the firstdigital resource viewing component comprises a first browser window ortab and the second digital resource viewing component comprises a secondbrowser window or tab.
 4. The method of claim 1, further comprising:storing, by the memory, first parameters defining a first viewing areaof the display and second parameters defining a second viewing area ofthe display, wherein each of the first ordered set of digital resourcesare associated with the first viewing area, and wherein the secondordered set of digital resources are associated with the second viewingarea; and responsive to one or more instructions to display the firstdigital resource and the second digital resource, detecting that thefirst digital resource is associated with the first viewing area anddetecting that the second digital resource is associated with the secondviewing area; wherein displaying the first digital resource and thesecond digital resource comprises positioning the first digital resourceviewing component over the first viewing area responsive to detectingthat the first digital resource is associated with the first viewingarea and positioning the second digital resource viewing component overthe second viewing area responsive to the detecting that the seconddigital resource is associated with the second viewing area.
 5. Themethod of claim 4, wherein the first viewing area comprises a firstdefined area of a web browser window and wherein the second viewing areacomprises a second defined area of the web browser window.
 6. The methodof claim 4, further comprising: storing, by the memory, a first dataelement associating each of the first ordered set of digital resourceswith the first viewing area; and storing a second data elementassociating each of the second ordered set of digital resources with thesecond viewing area.
 7. The method of claim 4, further comprising:storing a direct association between the first parameters defining thefirst viewing area and each of the first ordered set of digitalresources; and storing a direct association between the secondparameters defining the second viewing area and each of the secondordered set of digital resources.
 8. The method of claim 1, wherein thefirst digital resource comprises at least a first portion of a webpageof a first origin and wherein the second digital resource comprises atleast a second portion of a webpage of a second origin unique from thefirst origin.
 9. The method of claim 1, wherein initiating thenavigation from the first digital resource to the third digital resourcecomprises: sending a navigate message identifying the third resource toa navigation handler component; responsive to the navigate message,executing by the navigation handler component, a navigation process toload the third digital resource in the first digital resource viewingcomponent and to update a resource identifier display elementidentifying the third digital resource; and wherein initiating thenavigation from the second digital resource to the fourth digitalresource comprises: sending the navigate message identifying the thirddigital resource to an array management handler component; responsive tothe navigate message, identifying by the array management handlercomponent, a fourth digital resource of the third ordered set of digitalresources associated with the third digital resource; and selecting thefourth digital resource from the third ordered set of digital resourcesas an initial display resource for display in association with the thirddigital resource.
 10. The method of claim 1, wherein the first digitalresource viewing component and the second digital resource viewingcomponent comprise components of a same digital resource viewingapplication.
 11. The method of claim 1, wherein the first digitalresource viewing component and the second digital resource viewingcomponent comprise components of different digital resource viewingapplications.
 12. A non-transitory computer-readable storage mediumstoring instruction for controlling navigation between digital resourcesin an application executing on a client device in a networked computerenvironment, the instructions when executed by a processor causing theprocessor to perform steps including: storing identifiers for at least afirst digital resource, a second digital resource, a third digitalresource, and a fourth digital resource, the first and third digitalresources in a first ordered set of digital resources, the seconddigital resource in a second ordered set of digital resources and thefourth digital resource in a third ordered set of digital resources, thefourth digital resource having a stored association with the thirddigital resource; displaying the first digital resource of the firstordered set of digital resources in a first digital resource viewingcomponent and the second digital resource of the second ordered set ofdigital resources in a second digital resource viewing component;causing a display to display a user interface element for navigatingbetween the digital resources; detecting a selection of the userinterface element; responsive to the selection of the user interfaceelement, initiating, by the processor, navigation from the first digitalresource to the third digital resource of the first ordered set ofdigital resources in the first digital resource viewing component;detecting the stored association between the third digital resource andthe fourth digital resource; and responsive to detecting the storedassociation, initiating navigation from the second digital resource ofthe second ordered set of digital resources to the fourth digitalresource of the third ordered set of digital resources in the seconddigital resource viewing component.
 13. The non-transitorycomputer-readable storage medium of claim 12, the instructions whenexecuted further causing the processor to perform steps including:storing an association between the first digital resource viewingcomponent and the second digital resource viewing component; whereininitiating the navigation from the second digital resource of the secondordered set of digital resources to the fourth digital resource in thethird ordered set of digital resources comprises: detecting theassociation between the first digital resource viewing component andsecond digital resource viewing component; and responsive to detectingthe association, designating the second digital resource viewingcomponent for loading the fourth digital resource.
 14. Thenon-transitory computer-readable storage medium of claim 12, wherein thefirst digital resource viewing component comprises a first browserwindow or tab and the second digital resource viewing componentcomprises a second browser window or tab.
 15. The non-transitorycomputer-readable storage medium of claim 12, the instructions whenexecuted further causing the processor to perform steps including:storing first parameters defining a first viewing area of the displayand second parameters defining a second viewing area of the display,wherein each of the first ordered set of digital resources areassociated with the first viewing area, and wherein the second orderedset of digital resources are associated with the second viewing area;and responsive to one or more instructions to display the first digitalresource and the second digital resource, detecting that the firstdigital resource is associated with the first viewing area and detectingthat the second digital resource is associated with the second viewingarea; wherein displaying the first digital resource and the seconddigital resource comprises positioning the first digital resourceviewing component over the first viewing area responsive to detectingthat the first digital resource is associated with the first viewingarea and positioning the second digital resource viewing component overthe second viewing area responsive to the detecting that the seconddigital resource is associated with the second viewing area.
 16. Thenon-transitory computer-readable storage medium of claim 15, wherein thefirst viewing area comprises a first defined area of a web browserwindow and wherein the second viewing area comprises a second definedarea of the web browser window.
 17. The non-transitory computer-readablestorage medium of claim 15, the instructions when executed furthercausing the processor to perform steps including: storing a first dataelement associating each of the first ordered set of digital resourceswith the first viewing area; and storing a second data elementassociating each of the second ordered set of digital resources with thesecond viewing area.
 18. The non-transitory computer-readable storagemedium of claim 15, the instructions when executed further causing theprocessor to perform steps including: storing a direct associationbetween the first parameters defining the first viewing area and each ofthe first ordered set of digital resources; and storing a directassociation between the second parameters defining the second viewingarea and each of the second ordered set of digital resources.
 19. Thenon-transitory computer-readable storage medium of claim 12, wherein thefirst digital resource comprises at least a first portion of a webpageof a first origin and wherein the second digital resource comprises atleast a second portion of a webpage of a second origin unique from thefirst origin.
 20. The non-transitory computer-readable storage medium ofclaim 12, wherein initiating the navigation from the first digitalresource to the third digital resource comprises: sending a navigatemessage identifying the third resource to a navigation handlercomponent; responsive to the navigate message, executing by thenavigation handler component, a navigation process to load the thirddigital resource in the first digital resource viewing component and toupdate a resource identifier display element identifying the thirddigital resource; and wherein initiating the navigation from the seconddigital resource to the fourth digital resource comprises: sending thenavigate message identifying the third digital resource to an arraymanagement handler component; responsive to the navigate message,identifying by the array management handler component, a fourth digitalresource of the third ordered set of digital resources associated withthe third digital resource; and selecting the fourth digital resourcefrom the third ordered set of digital resources as an initial displayresource for display in association with the third digital resource. 21.The non-transitory computer-readable storage medium of claim 12, whereinthe first digital resource viewing component and the second digitalresource viewing component comprise components of a same digitalresource viewing application.
 22. The non-transitory computer-readablestorage medium of claim 12, wherein the first digital resource viewingcomponent and the second digital resource viewing component comprisecomponents of different digital resource viewing applications.
 23. Acomputer device comprising: a processor; and a non-transitorycomputer-readable storage medium storing instruction for controllingnavigation between digital resources in an application executing on aclient device in a networked computer environment, the instructions whenexecuted by a processor causing the processor to perform stepsincluding: storing identifiers for at least a first digital resource, asecond digital resource, a third digital resource, and a fourth digitalresource, the first and third digital resources in a first ordered setof digital resources, the second digital resource in a second orderedset of digital resources and the fourth digital resource in a thirdordered set of digital resources, the fourth digital resource having astored association with the third digital resource; displaying the firstdigital resource of the first ordered set of digital resources in afirst digital resource viewing component and the second digital resourceof the second ordered set of digital resources in a second digitalresource viewing component; causing a display to display a userinterface element for navigating between the digital resources;detecting a selection of the user interface element; responsive to theselection of the user interface element, initiating, by the processor,navigation from the first digital resource to the third digital resourceof the first ordered set of digital resources in the first digitalresource viewing component; detecting the stored association between thethird digital resource and the fourth digital resource; and responsiveto detecting the stored association, initiating navigation from thesecond digital resource of the second ordered set of digital resourcesto the fourth digital resource of the third ordered set of digitalresources in the second digital resource viewing component.